日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

32linux下安装mysql5.7_Linux系统下以RPM方式安装mysql-5.7.9

發布時間:2023/12/2 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 32linux下安装mysql5.7_Linux系统下以RPM方式安装mysql-5.7.9 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1

在開始安裝之前,我們先來一小段官方文檔,看下圖。圖中英文翻譯過來就是:

從MySQL5.7.4起,以RPM包的方式安裝后的MySQL的部署默認是安全的,并且有這些特點:

在大多數情況下,你只需要安裝MySQL-server和MySQL-client安裝包就可以安裝上一個標準功能的MySQL。對于一個標準安裝來說,其他的安裝包不是必需的。

MySQL的安裝程序會創建一個單獨的root賬戶:'root'@'localhost',并自動為這個賬戶生成一個初始的隨機密碼,并將此密碼標志為已過期。

對于MySQL5.7.6和更高的版本來說,初始的隨機root密碼是被寫入錯誤日志的。對于MySQL5.7.4和5.7.5版本來說,密碼是被寫入以HOME環境變量命名的目錄中的.mysql_secret文件中的。根據操作系統,可以使用諸如sudo這樣的命令讓HOME環境變量的值指向root系統用戶的home目錄。.mysql_secret文件是以只允許創建它的系統用戶訪問的600模式而創建的。(版本差異的產生,是因為自5.7.6版本起數據目錄和root賬戶由mysqld --initialize來初始化,5.7.6以前的版本由mysql_install_db來初始化)。

不創建MySQL匿名賬戶。

不創建測試數據庫。

作為上述操作所產生的結果,在安裝完成后你需要去啟動服務,以root身份,用初始的隨機密碼來進行連接,并且在連接后選擇一個新的密碼。在完成這些操作之前,root用戶無法做其他的任何事情。修改密碼,你可以用ALTER USER語句(例如,通過mysql客戶端)。重設密碼后,如果有創建.mysql_secret文件就把它刪除;否則,在你執行mysql_secure_installation這條命令的時候,可能會再次看到那個文件和過期的root密碼成為確認安全部署的一部分。

2

本來我也是想省事,打算從網上找些安裝教程,但是基本上都是5.7.6版本以下的教程,害得我死活找不到.mysql_secret文件,mysql_install_db也執行不了。沒辦法我就去官網找文檔了,讓人頭暈的是竟然沒中文語言支持,沒辦法,英文也得看。這也就是我要把詳細版本號標出來的原因。首先,就是要下載,看下面3張圖:

3

我先在Linux根目錄建了一個test目錄,執行命令:mkdir /test。然后把下載的安裝包傳到這個目錄中,至于怎么傳,我就不講了,因為教程太多了。我們進入這個目錄,執行命令:cd /test。執行解包命令:tar -xvh mysql-5.7.9-1.el7.x86_64.rpm-bundle.tar。在輸入安裝包名字的時候,記得使用Tab鍵來進行命令補全,不然你逐個敲就太浪費時間了。

解包之后,說實在的,我也有點頭大。我勒個去,居然有12個RPM包!不過,不要緊,我們再來回顧一下官方文檔中的這句話:

在大多數情況下,你只需要安裝MySQL-server和MySQL-client安裝包就可以安裝上一個標準功能的MySQL。對于一個標準安裝來說,其他的安裝包不是必需的。

怎么樣,明白了吧?我們需要安裝的是mysql-community-client-5.7.9-1.el7.x86_64.rpm和mysql-community-server-5.7.9-1.el7.x86_64.rpm。當然為了不浪費口舌,我就直接說了。安裝時候會提示與已經安裝的RPM包有沖突,所以我們先卸載一些RPM包,要卸載哪些呢?我們要卸載的是包含有mariadb關鍵字的RPM包,執行命令:rpm -qa|grep mariadb來查看一下我們要卸載哪些軟件,看下圖:

4

既然知道了是哪些RPM包,就開始卸載吧!執行命令:

rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64

rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64

看下圖:

5

卸載完了,我們就開始安裝吧!安裝前,先講一下,雖然官方文檔說安裝mysql-community-client-5.7.9-1.el7.x86_64.rpm和mysql-community-server-5.7.9-1.el7.x86_64.rpm就可以獲得標準功能的MySQL。但是由于RPM包的依賴關系,所以實際上我們還要多裝2個RPM包:mysql-community-common-5.7.9-1.el7.x86_64.rpm和mysql-community-libs-5.7.9-1.el7.x86_64.rpm。依次執行命令:

rpm -ivh mysql-community-common-5.7.9-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm

注意:是依次執行,不要亂了順序,因為它們之間有依賴關系。看下面4張圖:

6

這樣我們就把MySQL安裝好了,當然最重點的地方也就來了,那就是初始化。來吧,又到了官方文檔時間段了,看下圖,圖中英文翻譯過來就是:

在Unix和Unix系列系統中,有一點是很重要的,那就是確保數據庫目錄與文件的所有者為mysql登錄賬戶,以便在你運行mysqld服務的時候,mysql服務可以對這些目錄和文件進行讀取與寫入操作。如果你是以root身份運行mysqld服務,就需要確認一下,執行如下面顯示的包含有--user選項的命令:

shell> bin/mysqld --initialize --user=mysql

shell> bin/mysqld --initialize-insecure --user=mysql

另外,當你是以mysql的賬戶登錄并執行程序的情況下,你可以將--user選項從命令中去掉。

所以我在前面提到過添加mysql用戶和mysql用戶組,當然這步操作可做可不做。通過官方文檔我們可以知道,如果我是root身份登錄Linux系統,可以執行:mysqld --initialize --user=mysql或者mysqld --initialize-insecure --user=mysql。如果我是以mysql用戶登錄Linux系統,可以執行:mysqld --initialize或者mysqld --initialize-insecure。

7

再來看官方文檔,看下圖,圖中英文翻譯過來就是:

不管在哪個平臺上,使用--initialize選項就是以“默認安全模式”來進行安裝的(即包含一個隨機的root初始密碼的生成)。在這種情況下,密碼是被標志為過期的,你需要選擇一個新的密碼。使用--initialize-insecure選項,沒有root密碼生成;如果是這樣的話,在服務器投入生產使用之前,你需要及時地為賬戶指定密碼。

通過官方文檔我們可以知道,使用--initialize會為root賬戶生成一個隨機的初始密碼,我們可以使用命令:mysql -u root -p,然后輸入密碼來登錄MySQL。使用--initialize-insecure不會為root賬戶生成一個隨機的初始密碼,我們可以使用命令:mysql -u root --skip-password直接登錄MySQL。

8

初始化的操作我們要在/usr/bin目錄中進行,所以我們先進入/usr/bin目錄:cd /usr/bin。

然后,我是以root身份登錄Linux系統的,并且我想為root賬戶生成一個隨機的初始密碼,所以我要執行命令:mysqld --initialize --user=mysql;這樣就完成了對MySQL的初始化,并為root賬戶生成了一個隨機的初始密碼。

9

我們來對上一步來作個補充,因為你有可能會用到,還是來看官方文檔,看下圖,圖中英文翻譯過來就是:

mysqld服務會檢查數據目錄是否存在,如下:

如果數據目錄不存在,mysqld則會創建它。

如果數據目錄存在,且不是空目錄(即包含有文件或子目錄),mysqld會顯示一條錯誤信息并中止:

[ERROR] --initialize specified but the data directory exists. Aborting.

遇到這種情況,就將數據目錄刪除或重命名后,重新再試一次。

我來簡單說明一下,也就是在初始化之前,先檢查一下數據目錄是否存在,執行命令:ls ?-l ?/var/lib|grep mysql。若有,則執行命令:

rm ?-rf ?/var/lib/mysql,將其刪除;

或者執行命令:mv ?/var/lib/mysql ? /var/lib/newname,將其重命名為newname,就可以了。

10

下面我們來看下root賬戶的隨機初始密碼,執行命令:

vi ?/var/log/mysqld.log

下圖紅線框中的字符就是密碼,把它記下來,登錄MySQL的時候要用:

11

現在可以啟動mysqld服務了,執行命令:

systemctl ?start ?mysqld

我們來看下mysqld是否已經啟動了,執行命令:

systemctl ?status ?mysqld

如果看到的和下圖一樣,就說明已經啟動了:

12

我們來對上一步作個補充,因為你也有可能會遇到。如果你在執行命令:

systemctl ?start ?mysqld時,出現了和下圖一樣的提示:

Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.

出現這樣的錯誤提示,我們先查看一下/var/lib/mysql-files目錄是否存在,執行命令:ls ?-ld ?/var/lib/mysql-files。如果不顯示任何信息就表示不存在,執行命令:mkdir ?/var/lib/mysql-files,創建/var/lib/mysql-files目錄。這時,我們試著執行命令:systemctl ?start ?mysqld。如果還出現和下圖一樣的提示,我們執行另一條命令:chown -R mysql:mysql ?/var/lib/mysql,將/var/lib/mysql目錄及其下所有文件和子目錄的所有者和所屬組都改為mysql。我們再執行一下:systemctl ?start ?mysqld應該就可以啟動mysqld服務了。

13

準備工作全部就緒,來吧,登錄吧!執行命令:mysql ?-u ?root ?-p。要注意輸入密碼是不顯示的,不是你的鍵盤有問題,而是Linux的一種安全機制,只管輸入就行??聪聢D:

14

最后還要講下怎么修改密碼,從官方文檔中我們了解到要用ALTER USER語句可以修改密碼。登錄MySQL后,執行語句:

alter user 'root'@'localhost' ?identified ?by ?'mYsqL$%123';

就將root賬戶的密碼修改為mYsqL$%123了。

有一點需要注意,MySQL對用戶密碼安全性有所加強,所以設置的密碼必須包含有數字,大寫字母,小寫字母,特殊符號,如果你設置的密碼過于簡單,會提示:

ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

至此,所有工作就完了。最后不禁要感慨一下:真后悔當初沒好好學英語啊!好好學英語吧,童鞋們!

END

總結

以上是生活随笔為你收集整理的32linux下安装mysql5.7_Linux系统下以RPM方式安装mysql-5.7.9的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。