首先在安裝中使用的https://www.sysgeek.cn/install-mysql-8-in-ubuntu-18-04/中的安裝步驟,過程都沒問題,也能本地連上,但是到遠程連接的時候出現問題,弄了一早上。
最終解決方法是用的大佬的,但是在過程中發現root權限很多都沒有,需要先更改權限;
USE mysql;INSERT INTO `user` VALUES ('%', 'root', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0', '0', 'mysql_native_password', '*84AAC12F54AB666ECFC2A83C676908C8BBC381B1', 'N', '2018-04-21 11:25:16', null, 'N', 'Y', 'Y', null, null);FLUSH PRIVILEGES;
症狀:
安裝了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?utm_source=copy