Navicat 連接Mysql8

一、開啟mysql遠程服務:
1、修改mysql資料庫下的user表中host的值

因為帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改"mysql"資料庫裡的"user"資料表裡的"host",從"localhost"改稱"%"登錄mysql資料庫執行如下指令:

mysql -u root -p
use mysql;
update user set host=’%’ where user=’root’;

image

2、使用授權的方式
賦予任何主機訪問資料庫的權限

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

如果想myuser用戶使用mypassword密碼從任何主機連接到mysql伺服器的話。
RANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

二、在使用Navicat for Mysql連接mysql 8.0時會報如下錯誤:
Authentication plugin ‘caching_sha2_password’ cannot be loaded:

mysql8.0引入了新特性caching_sha2_password,這種密碼加密方式客戶端不支持。
客戶端支持的是mysql_native_password 這種加密方式;

我們可可以查看mysql資料庫中user表的plugin字段;

SNAGHTML973822

可以使用指令將他修改成mysql_native_password加密模式:

再用Navicat鏈接就可以連接成功;
update user set plugin=’mysql_native_password’ where user=’root’;


1 則回應給 Navicat 連接Mysql8

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

分類
BlogUpp!