你好,一叠花,
我无法通过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)");
});
答案 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