nodejs中使用的mysql问题
const mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456789',
database : 'userdata'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err);
return;
}
console.log('connected as id ' + connection.threadId);
});
错误: ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
答案 0 :(得分:3)
有同样的问题。
在MySQL Workbench中执行以下查询:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456789';
返回到Node.js,然后尝试再次运行该文件。它应该起作用,至少对我有用。
答案 1 :(得分:2)
您使用“ mysql安装程序”安装了mysql服务器
1)open -> "mysql intsaller"
2)press reconfig mysql server
3)select left side "authentication method tab"
4)select radio button -->use legacy authentication method
5)now stop and restart the db
谢谢!