Client does not support authentication protocol requested by server
原因
MySql 8.0换了新的身份验证插件(caching_sha2_password), 旧的身份验证插件为(mysql_native_password)。
以默认创建的用户和密码都是这个加密方式。而npm包里的mysql模块还是使用原来的mysql_native_password加密方式,两者不互通,连接会报错。
解决办法:
将用户密码从caching_sha2_password加密方式改回的 mysql_native_password加密方式。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456789';
如上,将root用户的密码123456789的认证修改成mysql_native_password,之后再连接mysql就会成功。
然后刷新缓存:
flush privileges;
如上,将root用户的密码123456789的认证修改成mysql_native_password,之后再连接mysql就会成功。
然后刷新缓存:
flush privileges;
网友评论