当前位置: 首页 > 后端技术 > Node.js

node连接mysql报错ER_NOT_SUPPORTED_AUTH_MODE

时间:2023-04-03 12:56:32 Node.js

nodeversionv12.12.0mysqlversion8.0在家尝试使用node连接mysql数据库时,发现无法连接。错误信息显示为:{"code":"ER_NOT_SUPPORTED_AUTH_MODE","errno":1251,"sqlMessage":"Clientdoesnotsupportauthenticationprotocolbyserver;considerupgradeMySQLclient","sqlState":"08004","fatal":true}经过多方查询得到的答案是mysql8.0默认的密码认证方案是'caching_sha2_password',而node当前默认的密码认证方案是'mysql_native_password',所以即使密码正确,但是没能认证成功。root:用户名asd123456:密码解决方法:1、使用管理员身份运行命令提示符2、进入mysql安装目录的bin目录。默认的安装路径大概是(C:\ProgramFiles\MySQL\MySQLServer8.0\bin)3.在命令提示行中输入:mysql-uroot-p4,mysql>alteruser'root'@'localhost'identifiedwithmysql_native_passwordby'asd123456';此时会提示QueryOK,0rowsaffected(0.01sec),这里是修改密码的验证方式5.mysql>flushprivileges;这时候会提示QueryOK,0rowsaffected(0.01sec),这里是重启权限6.mysql>exitExitmysql一图胜前言: