CentOS7 安裝並配置 MySQL8.0
安裝環境
linux版本:CentOS 7.6 x64
Mysql:8.0
在CentOS中預設安裝有MariaDB,但是我們需要的是MySQL,安裝MySQL可以覆蓋MariaDB.
MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險。MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。
安裝步驟
1.從Mysql官網下載MySQL的Yum Repository。根據CentOS和Mysql的版本,選擇下載相對應的檔案。本文選擇紅色方框的檔案。
Yum幫我們管理好了各種rpm包的依賴,是基於rpm的軟體包管理器,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝.
下載命令:
wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
2.用yum命令安裝下載好的rpm包。
yum -y install mysql80-community-release-el7-2.noarch.rpm
3.安裝MySQL伺服器。
yum -y install mysql-community-server
這步可能會花些時間,安裝完成後就會覆蓋掉之前的mariadb。
當出現如下圖所示的內容,則代表MySQL就安裝完成了。
MySQL資料庫設定
1.啟動MySQL
systemctl start mysqld.service
2.檢視MySQL執行狀態,其中Active後面代表狀態啟功服務後為active (running),停止後為inactive (dead),執行狀態如圖:
systemctl status mysqld.service
另外重新啟動Mysql和停止Mysql的命令如下:
service mysqld restart #重新啟動Mysql systemctl stop mysqld.service #停止Mysql
3.此時MySQL已經開始正常執行,不過要想進入MySQL還得先找出此時root使用者的密碼,通過如下命令可以在日誌檔案中找出密碼:
為了加強安全性,MySQL8.0為root使用者隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包,則預設是/var/log/mysqld.log。 只有啟動過一次mysql才可以檢視臨時密碼
4.登入root使用者
mysql -u root -p
然後輸入初始密碼,此時不能做任何事情,因為MySQL預設必須修改密碼之後才能操作資料庫,否則會報錯。
5.修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這裡有個問題,新密碼設定的時候如果設定的過於簡單會報錯:
原因是因為MySQL有密碼設定的規範,具體是與validate_password_policy的值有關:
MySQL完整的初始密碼規則可以通過如下命令檢視:
密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
如果想要設定簡單的密碼必須要修改約束,修改兩個全域性引數:
validate_password_policy代表密碼策略,預設是1:符合長度,且必須含有數字,小寫或大寫字母,特殊字元。設定為0判斷密碼的標準就基於密碼的長度了。一定要先修改兩個引數再修改密碼
mysql> set global validate_password.policy=0;
validate_password_length代表密碼長度,最小值為4
mysql> set global validate_password.length=4;
修改完,如圖
此時密碼就可以設定的很簡單,例如1234之類的。到此資料庫的密碼設定就完成了。
但此時還有一個問題,就是因為安裝了Yum Repository,以後每次yum操作都會自動更新,需要把這個解除安裝掉:
[root@localhost ~]# yum -y remove mysql80-community-release-el7-2.noarch
在CentOS中mysql的主要配置所在的目錄:
1 /etc/my.cnf 這是mysql的主配置檔案 2 /var/lib/mysql mysql資料庫的資料庫檔案存放位置 3 /var/log mysql資料庫的日誌輸出存放位置