Navicat 遠端連線docker容器中的mysql 報錯1251 - Client does not support authentication protocol 解決辦法

sinat_38345188發表於2018-06-28



1,容器中登入mysql,檢視mysql的版本

mysql> status;
--------------

mysql  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)


2,進行授權遠端連線(注意mysql 8.0跟之前的授權方式不同)

授權

GRANT ALL ON *.* TO 'root'@'%';

重新整理許可權

flush privileges;

此時,還不能遠端訪問,因為Navicat只支援舊版本的加密,需要更改mysql的加密規則


3,更改加密規則

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;


4,更新root使用者密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

重新整理許可權

flush privileges;

OK,設定完成,再次使用 Navicat 連線資料庫

相關文章