egg-mysql连接报错:ER_NOT_SUPPORTED_AUTH_MODE


字数:261 阅读时长:1分钟 阅读:85

使用 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

一、报错原因

使用 egg-mysql 中间件连接数据库 MySQL8.0,MySQL8.0 之前的版本中加密规则是 mysql_native_password ,而 MySQL8.0,加密规则是 caching_sha2_password

二、解决办法

将加密规则还原成 mysql_native_password 。使用 mysql 命令行进行操作,步骤如下:

  1. 以管理员身份启动 mysql 服务
1
net start mysql
  1. 登录 mysql 命令行模式
1
2
3
4
5
# 用户名 root

mysql -uroot -p

# 回车输入密码
  1. 使用 mysql 命令修改加密规则
1
2
3
4
5
alter user 'root'@'localhost' identified with mysql_native_password by '123456';

# 用户名 root
# 本地服务 localhost
# 密码 123456

提示: 用户名、本地服务和密码根据自己的设置进行替换即可,需要加 单引号 ,最后结束要加 ;

  1. eg:
1
2
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)
  1. 输出 Query OK, 0 rows affected (0.01 sec) 说明已经设置成功。

欢迎访问:天问博客

本文作者: Tiven
发布时间: 2022-03-18
最后更新: 2023-07-17
本文标题: egg-mysql连接报错:ER_NOT_SUPPORTED_AUTH_MODE
本文链接: https://www.tiven.cn/p/7291c5ec/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
欢迎留言,提问 ^_^
个人邮箱: tw.email@qq.com
notification icon
博客有更新,将会发送通知给您!