node-mysql连接mysql失败Error: ER_NOT_SUPPORTED_AUTH_MODE

报错信息

{ Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

这是自己在我的linux机器上,安装了
mysql Ver 8.0.12 for Linux on x86_64 (MySQL Community Server - GPL)
这个版本,然后我本地使用node-mysql去连接数据库。报错的信息。
经过一连串的研究,终于解决了这个问题。

解决步骤

  • 第一步谷歌
    查到了 https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
    这个答案,和我报错的步骤基本一样,按照这个进行操作,登录mysql使用这个
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

然后本地又报这个错误

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个错误的含义是你的密码安全等级太低了。
这里的password的意思是你登录mysql使用的password帐号

  • 报错原因
    因为mysql版本较高,最新的加密方式node还不支持,之前在本地用phpMyadmin连接mysql也出现过这样的问题,当时也是修改mysql密码保存方式,不过当时因为是本地电脑采用的是图形化界面解决的方式,只需要勾选一个按钮重启就好了。

你可能感兴趣的:(js,node,mysql)