mysql8.0無法遠程連接


本篇內容抄自https://blog.csdn.net/qq_32448349/article/details/82428696,在這里做一下記錄

報錯信息:

1.首先查看防火牆狀態

防火牆版本的不同命令也會有不同

0.4的命令為

systemctl status firewall.service 

0.5的命令為

systemctl status firewalld

防火牆沒有運行

2.命令登入服務器mysql

3.執行下面語句添加權限

use mysql;

select host, user, authentication_string, plugin from user;

查看user表的root用戶Host字段是localhost,說明root用戶只能本地登錄,現在把他改成遠程登錄

update user set host='%' where user='root';

4.刷新權限

所有操作后,應執行

FLUSH PRIVILEGES;

我到這里問題就已經解決了

執行后繼續連接發現還是報錯

 

查找問題后發現

MySQL8.0之前的版本密碼加密規則:mysql_native_password,

MySQL8.0密碼加密規則:caching_sha2_password

不一樣

5.修改mysql加密規則

 

輸入命令


 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
 

加密規則改了也同樣設置密碼

 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密碼';

再試


免責聲明!

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



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