关于eggjs:解决eggmysql插件连接不上mysql问题

58次阅读

共计 1991 个字符,预计需要花费 5 分钟才能阅读完成。

解决 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_…

正文完
 0