无法从Node.js应用程序连接到MySQL数据库

时间:2019-12-03 12:49:24

标签: mysql node.js

我是MYSQL的新手,通常是数据库编程。 通过运行以下命令,使用mac im将mysql服务器与docker image一起设置:

docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=123123123' -p 1433:1433 microsoft/mssql-server-linux

容器正在运行,当我尝试从命令行连接时,如下所示:

mssql -u sa -p 123123123

它成功连接,我可以开始键入查询。 我还可以通过Azure Data Studio进行连接。

问题是,当我试图像这样从node.js应用连接时:

var mysql = require('mysql');

const config = {
host: 'localhost',
user: 'sa',
password: 'reallyStrongPwd123',
database: 'logger',
port: '1433',
};

var con = mysql.createConnection(config);

con.connect(function (err) {
  if (err) throw err;
  console.log("Connected!");
});

我根据docker mysql容器指定端口,并且从未发生来自connect的回调。当我删除端口时,出现以下错误:Error: connect ECONNREFUSED 127.0.0.1:3306

任何帮助将不胜感激:)谢谢!

1 个答案:

答案 0 :(得分:3)

您使用的是MsSQL服务器而非MySQL,或者您必须将docker映像更改为mysql(或使用:https://hub.docker.com/_/mysql) 此NPM模块 https://www.npmjs.com/package/mssql