我是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
任何帮助将不胜感激:)谢谢!
答案 0 :(得分:3)
您使用的是MsSQL服务器而非MySQL,或者您必须将docker映像更改为mysql(或使用:https://hub.docker.com/_/mysql) 此NPM模块 https://www.npmjs.com/package/mssql