4
我試圖用node-mysql連接到我的mysql數據庫。當我嘗試下面的代碼,我得到這個錯誤:連接Node-mysql的麻煩
錯誤:錯誤:連接ETIMEDOUT
沒有人知道什麼是錯?數據庫啓動並順利運行。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
var mysql = require('mysql');
var connection = mysql.createConnection({
host: "correct_host",
user: "correct_user",
password: "correct_password",
database: "correct_database",
debug: true,
});
connection.connect(function(err) {
if (err) {
console.log('ERROR: ' + err);
} else {
console.log('Connected to ' + server.hostname + ' (' + server.version + ')');
};
});
connection.query('SELECT 1', function(err, rows) {
// connected! (unless `err` is set)
});
connection.query('SELECT * FROM Effect', function(err, rows, fields) {
if (err) console.log('ERROR: ' + err);
for (x in rows) {
console.log('Row: ', x);
}
});
// Handle disconnect
function handleDisconnect(connection) {
connection.on('error', function(err) {
if (!err.fatal) {
return;
}
if (err.code !== 'PROTOCOL_CONNECTION_LOST') {
throw err;
}
console.log('Re-connecting lost connection: ' + err.stack);
connection = mysql.createConnection(connection.config);
handleDisconnect(connection);
connection.connect();
});
}
handleDisconnect(connection);
我相信問題出在你的'host'或'database'參數上。你說數據庫已經啓動並正在運行。 - 它運行在同一臺機器上嗎?你是否用不同的方式驗證了連接到數據庫的信息? – 2013-03-04 13:46:27
是的,我可以使用phpmyadmin來登錄數據庫來管理數據庫 – Sindresvends 2013-03-05 08:40:05
這可能是因爲你的mysql數據庫只監聽'127.0.0.1'或'localhost'上的連接。你應該儘量確保。 – 2013-03-12 16:43:30