yum 安裝Mysql8.0


系統: CentOS 7(在CentOS 7中默認有安裝MariaDB,這個是mysql的分支,一般來說還是使用自己安裝的MySQL比較好)

1、下載並安裝MySQL

wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

下載到指定位置后,就可以執行安裝了

yum -y install mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server

安裝完成后,之前的MariaDB就會被覆蓋掉

 

2、啟動MySQL

啟動MySQL服務:systemctl start  mysqld.service

查看MySQL服務:systemctl status  mysqld.service

查看MySQL是不是開機自啟,可以執行命令查看開機自啟列表

systemctl list-unit-files|grep enabled

此時如果要進入MySQL得找出root用戶的密碼,輸入命令

grep "password" /var/log/mysqld.log

得到密碼后,登錄mysql,輸入命令

mysql -uroot -p

然后回車,提示你輸入密碼,記得不要輸錯,輸入時密碼是不顯示的。登錄成功如下圖

此時,你需要給你的MySql重新設置密碼,因為MySQL默認的就是必須修改密碼后才能操作數據庫。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Left@zuo123.';

設置密碼的時候需要遵守MySQL密碼設置規范,如果不符合規范是不能修改成功的。

如下圖,我將密碼設置為123456,它提示我 密碼不符合規范

總之呢,我們先將密碼設置成比較復雜的就好,比如 Abc@123...,先登錄了再說。

如果想要設置簡單好記的密碼,可以修改密碼設置規范,畢竟你不登錄你就不能修改規范。

查看密碼規范

SHOW VARIABLES LIKE 'validate_password%';

 

密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
這時候我們將密碼設置規范修改一下:
set global validate_password.policy=0;
set global validate_password.length=1;

這時候就可以設置簡單的密碼了,比如123456

最后一步,設置允許遠程連接。

如果直接使用命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; 會提示一個語法錯誤,有人說是mysql8的分配權限不能帶密碼隱士創建賬號了,要先創建賬號再設置權限。也有的說8.0.11之后移除了grant 添加用戶的功能。

創建新用戶 admin

創建用戶:CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
允許遠程連接:GRANT ALL ON *.* TO 'admin'@'%';
本人測試過,使用 update user set host = '%'  where user = 'root'; 也可以修改

 如果使用客戶端連接提示了plugin caching_sha2_password錯誤,這是因為MySQL8.0的密碼策略默認為caching_sha2_password

 使用命令修改策略

ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

箭頭指的兩個用戶是我修改過的

 然后關閉防火牆,測試連接成功!!

文章為學習記錄,如有錯誤,還望指出!!


免責聲明!

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



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