使用 egg-mysql
连接 MySQL
数据库时报错:nodejs.ER_NOT_SUPPORTED_AUTH_MODEError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
。
一、报错原因
使用 egg-mysql
中间件连接数据库 MySQL8.0
,MySQL8.0 之前的版本中加密规则是 mysql_native_password
,而 MySQL8.0,加密规则是 caching_sha2_password
。
二、解决办法
将加密规则还原成 mysql_native_password
。使用 mysql 命令行进行操作,步骤如下:
- 以管理员身份启动 mysql 服务
1 | net start mysql |
- 登录 mysql 命令行模式
1 | 用户名 root |
- 使用 mysql 命令修改加密规则
1 | alter user 'root'@'localhost' identified with mysql_native_password by '123456'; |
提示: 用户名、本地服务和密码根据自己的设置进行替换即可,需要加 单引号 ,最后结束要加 ;
。
- eg:
1 | mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456'; |
- 输出
Query OK, 0 rows affected (0.01 sec)
说明已经设置成功。
欢迎访问:天问博客
本文作者: Tiven
发布时间: 2022-03-18
最后更新: 2023-03-02
本文标题: egg-mysql连接报错:ER_NOT_SUPPORTED_AUTH_MODE
本文链接: https://www.tiven.cn/p/7291c5ec/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
发布时间: 2022-03-18
最后更新: 2023-03-02
本文标题: egg-mysql连接报错:ER_NOT_SUPPORTED_AUTH_MODE
本文链接: https://www.tiven.cn/p/7291c5ec/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!