解决nodeJs连接mysql报错

在使用nodejs连接mysql数据库的时候报错了,最后解决了,做个备份,报错内容是:

相关代码

环境配置: vscode + node(v10.13.0) + mysql(8.0.16)

解决方法
  1. 通过命令行进入解压的mysql根目录下
  2. 登陆数据库
    [code]mysql -uroot -p[/code]
  3. 输入root的密码
    [code]Enter password: *****[/code]
  4. 更改加密方式
    [code]mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;[/code]
  5. 更改密码:该例子中 123456为新密码
    [code]mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;[/code] 这步有点奇怪,安装mysql时候设置了密码,但是最后是以空密码才登录成功,这里把密码改为了 ‘123456’
  6. 刷新:
    [code]mysql> FLUSH PRIVILEGES;[/code]

 

文章参考:报错Client does not support authentication protocol requested by server的解决方法