node.js连接数据库出现错误

node.js连接数据库出现错误

Failed to connect to database: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

img

该怎么解决

根据错误提示,是nodejs提供的mysql连接协议过低,需要升级。
要么使用更高版本的nodejs,要么使用较低版本的mysql

【相关推荐】



  • 你可以参考下这篇文章:nodejs连接mysql报错:Client does not support authentication protocol requested by server; consider upgrad
  • 除此之外, 这篇博客: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by中的 使用node.js连接mysql数据库报如下错误: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    	Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested 
    by server; consider upgrading MySQL client
    

    解决方法如下:
    1.先打开window的命令处理程序:

    1.window+r(快捷键进入)
    2.输入cmd
    

    注意:可能这个需要以管理员权限打开才能成功,window10以管理员身份打开方式如下:
    在这里插入图片描述
    在屏幕下方导航条鼠标右击window,显示出“命令提示符(管理员)”,点击,正常打开即可。
    2.输入以下命令:

    mysql -u root -p
    

    接着输入数据库密码。
    3.接着输入以下命令:

    use 数据库名
    

    举例:我创建的数据库名为"wechat"
    则输入:

    use wechat
    

    4.接着最后一步命令:

    ALTER user'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你数据库的密码';
    

    修改完毕即可。
    修改前:
    在这里插入图片描述
    修改后:
    在这里插入图片描述
    查询成功。

    亲测可行。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^