问题: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
原因:MySQL8.0.4+版本的加密方式更改,egg-mysql底层暂时也没有解决
解决:
win键输入cmd,以管理员的身份打开命令提示符
进入mysql安装bin目录并启动mysql

出现下图表示成功

1.登录数据库
键入mysql -u root -p,并enter输入密码,进去数据库
****> mysql -u root -p

2.更改加密方式(问题解决方式)
键入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
3.更改密码:例:123456为新密码,我用的root
键入:ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456';
4.刷新授权
键入:FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;
![]()
注意:
1、>符号前的显示内容,如:mysql>。可按Ctrl+C退出;
2、注意分号;是有的;
3、除第一步,后面全在mysql>下操作
本文讲述了在升级到MySQL8.0.4后,使用egg-mysql遇到ER_NOT_SUPPORTED_AUTH_MODE错误的解决方法,包括登录数据库、更改加密方式、设置新密码并刷新权限。
1558

被折叠的 条评论
为什么被折叠?



