博客 / 詳情

返回

解決egg-mysql插件連接不上mysql問題;

解決egg-mysql連接不上MySql服務器報錯:Client does not support authentication protocol requested by server; consider upgrading MySQL client

  1. 問題原因

通過相關問題查閲,發現是由於navicat版本的問題造成連接失敗。mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password

MySql查看版本號-1

LITING:~ liting$ mysql -uroot -p    // 進入mysql
Enter password:  //輸入mysql密碼,如下提示表示登錄成功
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

MySql查看版本號-2(可以進入mysql後通過mysql命令查看)

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.14    |
+-----------+
1 row in set (0.00 sec)
  1. 解決問題

1.進入mysql

LITING:~ liting$ mysql -uroot -p
Enter password:  // mysql密碼
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

2.輸入命令修改加密規則

1.ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
password替換為mysql連接密碼

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

2.ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
password為修改的新密碼。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

3.刷新權限,使修改生效。

FLUSH PRIVILEGES; 

4.查看錶中相關信息,確認修改是否真正生效

mysql> use mysql;  //先使用命令 use mysql
Database changed
mysql> select user,host,plugin from user where user='root'; // 在輸入該命令
+------+-----------+-----------------------+ 
| user | host      | plugin                |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+
1 row in set (0.00 sec)

5.通過navicat連接測試

參考來源:https://blog.csdn.net/weixin_...

user avatar xiaojiedian 頭像 vincehua 頭像
2 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.