【发布时间】:2012-02-08 04:00:52
【问题描述】:
我在 js 文件中有下一段代码:
var mysql = require('mysql');
var TEST_DATABASE = 'nodejs_mysql_test';
var TEST_TABLE = 'test';
var client = mysql.createClient({
user: 'root',
password: 'root',
});
client.query('CREATE DATABASE '+TEST_DATABASE, function(err) {
if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) {
throw err;
}
});
但我收到此错误:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: connect ECONNREFUSED
at errnoException (net.js:632:11)
at Object.afterConnect [as oncomplete] (net.js:623:18)
据我了解,这是一个连接问题 - 但我该如何解决呢?
(我正在使用 Windows 7)
谢谢!!
【问题讨论】:
-
似乎出于某种原因页面认为数据库已启动并正在运行。它在本地主机上启动并运行,对吧?
-
显而易见的问题:mysql 是否在同一台机器上运行,在端口 3306 上?你能
telnet localhost 3306吗? -
当我在 CMD 中写入 telnet localhost 3306 行时,我得到:'telnet' 不被识别为内部或外部命令、可运行程序或批处理文件。是这个意思吗?
-
@user1087995:seppo0010 的意思是,根据您使用的连接设置,您是否绝对确定在本地计算机上运行 MySQL 服务器并在端口 3306 上进行侦听?此错误表明您正在尝试连接到未侦听的服务器。
-
即使它在本地机器上运行,您也需要确保 MySQL 正在侦听 localhost/127.0.0.1 而不仅仅是外部 IP。