问题: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,以管理员的身份打开命令提示符
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>下操作