MySQL8.0設置遠程訪問權限


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


免責聲明!

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



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