CentOS 7 安裝MySQL 8.0.11


1. 下載安裝包

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

下載完成后解壓:

tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

這個鏈接的文件包含MySQL所有組件,而我們安裝需要的組件如下:

(1) mysql-community-common-8.0.11-1.el7.x86_64.rpm

(2) mysql-community-libs-8.0.11-1.el7.x86_64.rpm

(3) mysql-community-client-8.0.11-1.el7.x86_64.rpm

(4) mysql-community-server-8.0.11-1.el7.x86_64.rpm

你也可以按照這個列表逐個下載,本文為了方便,選擇了全集包。

2. 查詢並刪除CentOS自帶的Mariadb

(1) 查詢:

rpm -qa|grep mariadb

得到結果:

(2) 刪除:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.centos.x86_64

3.按照1中的列表順序逐個安裝MySQL所需組件

yum localinstall -y mysql-community-common-8.0.11-1.el7.x86_64.rpm
yum localinstall -y mysql-community-libs-8.0.11-1.el7.x86_64.rpm
yum localinstall -y mysql-community-client-8.0.11-1.el7.x86_64.rpm
yum localinstall -y mysql-community-server-8.0.11-1.el7.x86_64.rpm

 4. 檢查安裝結果

rpm -qa | grep mysql

5. 啟動

systemctl start mysqld
systemctl status mysqld

MySQL在啟動過程中會進行如下操作:

(1) 初始化MySQL;

(2) 在/var/lib/mysql目錄下生成一個SSL證書和密鑰文件;

(3) 安裝validate_password plugin;

(4) 創建一個超級用戶帳號'root'@'localhost,並且為其生成一個隨機密碼存放在/var/log/mysqld.log文件。

6. 修改密碼

安裝完成之后,通過下面的方式找到root默認密碼,然后登錄mysql進行修改:

grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass1!';

密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。

7. 添加賬戶

為了安全起見,強烈建議在遠程連接的時候使用非root賬戶。創建test用戶,密碼為“MyNewPass1!”,為其分配所有權限。

CREATE USER 'test'@'localhost' IDENTIFIED BY 'MyNewPass1!';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION;

CREATE USER 'test'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'
WITH GRANT OPTION;
flush privileges;

注意,每次執行完create user命令,一定要通過以下命令查看創建用戶是否成功:

use mysql;
select host, user from user;

對於新創建的賬戶,MySQL 8默認它的密碼插件為caching_sha2_password,而現有的客戶端工具大都只支持mysql_native_password插件,如果你用現有版本的客戶端工具鏈接會報錯“authentication plugin caching_sha2_password cannot be loaded”。

解決方法是改變用戶的密碼插件:

ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass1!';
flush privileges;

然后需要修改配置文件:

sudo vi /etc/my.cnf

重啟MySQL:

systemctl restart mysqld

查看用戶和權限是否創建成功:

select user, host, pluginauthentication_string from mysql.user;
SHOW GRANTS FOR 'test'@'%';

 8. 設置開機啟動

systemctl enable mysqld

 9. 開放端口

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload sudo firewall-cmd --list-ports


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM