MySQL连接节点
我正在linux vps上运行我的节点应用程序,在那里我安装了apache2和phpmyadmin。我在那里的服务器上有我的mysql数据库,我可以通过MySQL连接节点,mysql,node.js,linux,phpmyadmin,apache2,Mysql,Node.js,Linux,Phpmyadmin,Apache2,我正在linux vps上运行我的节点应用程序,在那里我安装了apache2和phpmyadmin。我在那里的服务器上有我的mysql数据库,我可以通过mysql-uusername-ppassword命令连接到用户,但是当使用以下代码运行我的节点应用程序时: const mysql = require('mysql'); const connection = mysql.createConnection({ host : '127.0.0.1', user :
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\u不受支持\u身份验证\u模式”
错误号码:1251
sqlMessage:'客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端“./P>”
有人知道原因吗?您可以将连接更改为使用unix套接字,或者检查mysqld是否绑定到0.0.0.0或运行它的服务器的以太网卡的ip上。
根据您使用的mysqld版本,该选项可以是“跳过网络”或“绑定地址”。尝试
localhost
而不是127.0.0.1
。MySQL将localhost
视为unix套接字,而不是tcp连接,这是默认情况下MySQL-uUserName..
所做的。已经尝试过了,但没有成功。。不管怎样,我也试过我的公共ip,没用。如果你打印e会怎么样?也许我得到了更多信息:错误代码:“ER_不受支持\u身份验证模式”错误号:1251 sqlMessage:“客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端。