Mysql 获取有关Node.js ECONNRESET错误的更多详细信息
我正在运行别人编写的node.js代码。有关部分如下:Mysql 获取有关Node.js ECONNRESET错误的更多详细信息,mysql,node.js,Mysql,Node.js,我正在运行别人编写的node.js代码。有关部分如下: client.query('CREATE TABLE ABC (id INT(11) AUTO_INCREMENT PRIMARY KEY, stuff VARCHAR(255), more INT(3))', function (error) { //Handle an error if it's not a table already exists error if(
client.query('CREATE TABLE ABC (id INT(11) AUTO_INCREMENT PRIMARY KEY, stuff VARCHAR(255), more INT(3))',
function (error) {
//Handle an error if it's not a table already exists error
if(error && error.number != 1050) {
throw (error);
}
});
每次运行时,都会出现以下错误:
progfile.js:251
throw (error);
^
Error: connect ECONNRESET
at errnoException (net.js:776:11)
at Object.afterConnect [as oncomplete] (net.js:767:19)
据我所知,这个错误意味着数据库关闭了连接?
我如何确认这一点?我可以从哪里获得更多信息?我需要帮助跟踪它为什么发生以及如何防止它发生
Node.js代码在WinXP机器上运行,数据库在CentOS VPS上。实际问题可能在代码中的其他地方,其影响只会在显示的代码中显示出来 特别是,确保在回调有机会运行之前,您没有“陷入”关闭连接的情况。在您的示例中,回调所做的只是检查错误,这使我怀疑您在调用
client.query
之后的代码中尝试对数据库执行更多操作。这是行不通的,因为MySQL客户端是异步的;显示的调用之后的任何语句都将在实际数据库查询有机会运行之前执行。任何依赖于已执行查询的内容都必须进入回调内部
如果这并不能使问题立即变得明显,请编辑您的问题,使其包含显示的代码前后的代码。可能重复的问题