我在Ubuntu10.04LTSVM上运行带有Node-Mysql的Node.js 4.1。然而,我遇到了一些奇怪的问题,我不确定是什么原因造成的。
我有时无法连接到数据库,但有时它工作得很好。当我无法连接时,我在MySQL端的连接中看到连接弹出窗口,用户为“未认证”,状态为“正在从网络读取”,但几秒钟后它就消失了。.connect()回调从不触发,我不知道从哪里开始。
我使用从主机到vm的端口转发,22用于SSH,80用于http请求,但除此之外一切正常。mysql上的主机显示为主机,而不是VM,尽管即使连接成功,它也会这样做。
不确定重要性,但连接在VM上的TIME_WAIT中有效,并且本地地址:port与MySQL的地址不同,因此也可以成功连接。
发布于 2011-10-13 00:24:13
您使用的是最新版本(0.9.2)吗?如果是,则不再使用.connect()。
https://github.com/felixge/node-mysql/wiki/Upgrading-to-0.9.2+
因此,不是:
var client = require('mysql').Client();
client.connect();
client.query('SELECT 1', function() {
});你现在必须写下:
var client = require('mysql').createClient();
client.query('SELECT 1', function() {
});https://stackoverflow.com/questions/5071111
复制相似问题