MySQL连接节点



我在安装了apache2和phpmyadmin的linux vps上运行我的节点应用程序。我在服务器上有我的mysql数据库,我可以通过mysql -uusername -ppassword命令连接到用户,但当运行我的节点应用程序时,代码是:

const mysql = require('mysql');
const connection = mysql.createConnection({
host     : '127.0.0.1',
user     : 'root',
password : '*******',
database : 'db_name',
});
connection.connect(function(e) {
if(e) {
console.log('Database didn't connect');
} else {
console.log('Database connected successfully');
}
});

上面写着";数据库未连接";。用户、密码和数据库字段都是正确的。

当console.log(e(我得到:

我得到了:错误代码:"ER_NOT_SUPPORTED_AUTH_MODE"错误号:1251sqlMessage:'客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端。

有人知道为什么吗?

您可以更改连接以使用unix套接字,或者检查mysqld是否绑定在0.0.0.0或其运行的服务器的以太网卡的ip上。根据您使用的mysqld版本,选项可以是";跳过联网";或";绑定地址";。

最新更新