mysql 8.0.11 用Navicat遠程無法連接
症狀:
安裝了mysql 8.0.11 之后本地可以登錄,但是遠程第三方工具無法連接,防火牆已經放通的,
解決之道:
首先登陸到mysql命令行:
mysql -u root -p
1
進入之后選擇mysql庫,用戶信息都存在這個庫的user表中
use mysql;
1
select host, user, authentication_string, plugin from user
1
可以看到,用戶對應的主機是localhost,而不是%,所以不能連接。
處理方法:
1、授權root用戶可以遠程登陸
GRANT ALL ON *.* TO 'root'@'%';
1
2、刷新權限
flush privileges;
1
3、修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword' PASSWORD EXPIRE NEVER;
1
4、更新 root 用戶密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
1
5、刷新權限
FLUSH PRIVILEGES;
1
測試連接。用 Navicat 連接數據庫就可以正常連接了。
另,給普通用戶遠程連接的權限:
1、授權 myuser 用戶對指定庫的所有表,所有權限並設置遠程訪問
GRANT ALL ON 指定庫.* TO 'myuser'@'%';
1
2、更新 該 用戶密碼
ALTER USER 'myuser'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
1
3.刷新權限
FLUSH PRIVILEGES;
---------------------
參考原文:https://blog.csdn.net/weixin_37998647/article/details/80428613