Node-MySQL(felixge)连接问题

我在Ubuntu 10.04 LTS虚拟机上运行Node.js 4.1和Node-Mysql 。 我有一些奇怪的问题,但是,我不知道是什么原因造成的。

我偶尔无法连接到数据库,而其他时间工作正常。 当我无法连接时,我看到连接popup在MySQL端的连接,用户为“未authentication”,状态为“从网上读取”,但几秒钟后消失。 .connect()callback从不会触发,我不知道从哪里去。

我使用从主机到vm的端口转发,其中22个用于SSH,80个用于http请求,但除此之外,一切正常。 mysql上的主机显示为主机,而不是虚拟机,即使成功连接也是如此。

在虚拟机的TIME_WAIT中不能确定这个意义,但连接保持不变,而且本地地址:端口与MySQL所具有的不同,也是成功的连接。

你使用的是最新版本(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() { });