#MySQL开发 报错 Client does not support authentication protocol requested by server; consider upgrading MySQL client
问题背景:不明,仅提供我个人的情景供参考。该问题不确定是否与Noje.js、即ES6有直接关联,是不是必然发生也不确定
在使用Node.js开发服务端时,正确设置了域名(localhost)、端口(3306)、用户名(root)、密码等参数,仍报错。
前提:电脑已安装(1)MySql (当前版本8.0)。建议安装(2)MySql数据库可视化的软件,例如NaviCat。
#解决步骤:
[解决方案]
连接数据库(通过类似NaviCat等的第三方软件或控制台最佳),输入以下内容:
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新的root密码’;
(此处“;”请留意)
建议关闭运行中的服务端(如果存在,无论是否成功启动),核对新的数据库密码,然后重启
参考 stack overflow 提问 https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
#注:
个人不是很理解这个问题究竟是什么原因,并且是如何被解决的。所以建议各位依葫芦画瓢吧。
理论上说,这个指令只是重置了root的密码,如果重置前后的密码一致,按理说一开始就不应该报错……
请先尝试该解决方案,如无效再考虑升级MySQL版本。