节点MySQL(felixge)连接问题
我正在Ubuntu 10.04 LTS虚拟机上运行Node.js 4.1。然而,我有一些奇怪的问题,我不确定是什么原因造成的 我有时无法连接到数据库,其他时候它工作正常。当我无法连接时,我会在mysql端的连接中看到连接弹出窗口,用户为“unauthenticated”,状态为“reading from net”,但几秒钟后就会消失。节点MySQL(felixge)连接问题,mysql,node.js,Mysql,Node.js,我正在Ubuntu 10.04 LTS虚拟机上运行Node.js 4.1。然而,我有一些奇怪的问题,我不确定是什么原因造成的 我有时无法连接到数据库,其他时候它工作正常。当我无法连接时,我会在mysql端的连接中看到连接弹出窗口,用户为“unauthenticated”,状态为“reading from net”,但几秒钟后就会消失。.connect()回调永远不会启动,我不知道从这里该怎么办 我使用从主机到虚拟机的端口转发,22个用于SSH,80个用于http请求,但除此之外,一切正常。mys
.connect()
回调永远不会启动,我不知道从这里该怎么办
我使用从主机到虚拟机的端口转发,22个用于SSH,80个用于http请求,但除此之外,一切正常。mysql上的主机显示为主机,而不是VM,尽管即使在成功连接时也是如此
不确定其重要性,但连接在虚拟机上的等待时间保持不变,并且本地地址:端口与MySQL的不同,用于成功连接。您使用的是最新版本(0.9.2)?如果是,则不再使用
.connect()
因此,不是:
var client = require('mysql').Client();
client.connect();
client.query('SELECT 1', function() {
});
你现在必须写:
var client = require('mysql').createClient();
client.query('SELECT 1', function() {
});
这不是对您问题的回答,但为了提供更好的数据库连接,我使用了node mysql本机插件。我没有使用他们的createTCPConnection方法,而是创建了自己的TCP套接字,手动包含了他们的SocketClient库,并调用了newsocketclient(my_socket);然后我就可以自己处理插座问题了。