无法使用Node.js连接到mysql(express)

时间:2019-08-07 11:32:26

标签: mysql node.js express

你好,一叠花,

我无法通过Express将server.js文件连接到Mysql。 我已经安装了mysql,并通过npm进行了表达。

当我运行server.js时

它在我的控制台(MacOS默认终端)中唯一说的是: “节点服务器现在正在运行-使用http://localhost:3000” (我没有错误)

并且我的网页在浏览器中也显示了正确的“节点服务器正在运行-起始页”。

问题是他们没有说“连接到MySQL服务器”或“超时:错误消息”之类的内容? (看#3)

// Dan k

//#1
// My codes from server.js

const express = require('express');
const mysql = require('mysql');
const hostname = "localhost:";
const port = 3000;

//#2
// create connection to DB 
const connection = mysql.createConnection({
host: "localhost",
user: 'root',
password: 'root',
port: 3000
});

//#3
// Connect to DB
connection.connect(function(err) {
if (!err) {
console.log('Connected to the MySQL server.');
}
else if (err)
{
return console.error('Timeout: ' + err.message);
}
});


// Routing with Express
const app = express();

//#4
// Startpage (root)
app.get('/', function(request, response){
response.send('Node Server running - startpage...');
response.end();
})

connection.end();

//#5
app.listen(port, (err) => {
if(err) throw err;
console.log("node server running now - using http://"+(hostname)+ . 
(port)");
});

1 个答案:

答案 0 :(得分:0)

我了解导致问题的原因。您使用相同的端口号 ID. col. 1 1 2 4 3 3 连接到mysqlDB,同时使用相同的端口运行nodejs应用程序。 这确实会引发错误,但是要花费很长时间才能引发错误。 因此,这里的简单答案是您在3000方法中提到的端口不正确,需要更改。该端口应该是运行mysql DB的端口号。从错误中可以明显看出,您的mysql DB不在createConnection()上运行。您可以检查这篇文章,以确定您的mysql数据库正在哪个端口上运行。 https://serverfault.com/questions/116100/how-to-check-what-port-mysql-is-running-on。以下是给您的参考。请查看评论。

port 3306