CentOS 7安裝MySQL 8——萌新超詳細教程


 
 
 
1.配置MySQL 8.0的安裝源:
 
 
 
 
2.安裝MySQL 8.0
 
sudo yum --enablerepo=mysql80-community install mysql-community-server
 
 
 
接下來選擇 y
 
 
 
下載完繼續 y
 
 
 
3.啟動MySQL服務
 
啟動命令: sudo service mysqld start
 
 
ps:如果不確定是否啟動了服務就運行如下命令
 
service mysqld status
 
 
 
4.查看MySQL的root臨時密碼
 
安裝完MySQL之后,都會生成一個臨時的密碼讓root用戶登錄,那么應該怎么獲取臨時密碼呢?
 
運行如下命令:  grep "A temporary password" /var/log/mysqld.log
 
 
 
5.把臨時密碼修改為一個自己能記得住的密碼
 
1).先用臨時的密碼登錄MySQL
運行命令:  mysql -uroot -p
 
 
登錄成功后
 
 
2).登錄成成功后運行如下命令修改密碼
 
修改密碼命令: ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
ps:注意語句結尾必須以分號結束
 
 
如果出現這種情況,那么就是你的密碼復雜度不符合MySQL所要求的
 
解決這種情況有兩種方式:
①把密碼改復雜點,讓它符合密碼驗證策略,這個當然是最好的,符合國際慣例;
②把密碼驗證策略改簡單點,讓它適用簡單的密碼,這個符合懶人的做法。
 
查看密碼驗證策略方法,運行如下命令:(前提是重置密碼之前是不讓看的)
SHOW VARIABLES LIKE 'validate_password.%';
 
 
官方文檔提供的文檔
validate_password.length 是密碼的最小長度,默認是8
validate_password.policy 驗證密碼的復雜程度
validate_password.check_user_name 用戶名檢查,用戶名和密碼不能相同
 
 
密碼長度修改為4:  set global validate_password.length=4;
 
 
密碼復雜度修改為0:  set global validate_password.policy=0;
 
 
去掉不允許用戶名和密碼相同的要求:  set global validate_password.check_user_name=off;
 
 
然后運行修改密碼的命令:  ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
 
 
6.配置遠程訪問
 
發現客戶端無法連接MySQL,那時因為我們沒有開通遠程訪問權限
 
 
開啟遠程訪問權限步驟:
 
1).   use mysql;
 
 
 
2).    select host, user, authentication_string, plugin from user;
 
 
 
如上圖,發現root的host是localhost,不是%, 那我們就加個host是%的root賬號:
 
命令:  CREATE USER 'root'@'%' IDENTIFIED BY 'root';
 
再重新查一下用戶
命令:  select host, user, authentication_string, plugin from user;
 
 
 
上面步驟成功后運行如下代碼:  GRANT ALL ON *.* TO 'root'@'%';
 
 
這樣就成功了
 
用navicat連接mysql還是會報錯:
 
 
 
原因是mysql8的加密方式規則不一樣,是caching_sha2_password
 
 
把加密方式改成mysql_native_password就行了:
ALTER USER '[用戶名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密碼]';
 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
 
加密方式已經修改完成 mysql_native_password:
 
 
 
 
如果還不成功,可能Linux沒有開放3306端口
 
操作步驟:
1、登陸到linux系統
2、輸入防火牆開放端口命令: firewall-cmd --zone=public --add-port=3306/tcp --permanent
3、刷新防火牆: firewall-cmd --reload
* 注意:--add-port=后面接需要開放的端口
 
 
 
 
 
 
 
 
 


免責聲明!

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



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