1. 程式人生 > 其它 >CentOS7 安裝並配置 MySQL8.0

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資料庫的日誌輸出存放位置