ubuntu安裝mysql8.0遇到的坑


首先在安裝中使用的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


免責聲明!

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



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