首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js MySQL连接问题

问Node.js MySQL连接问题
EN

Stack Overflow用户
提问于 2014-04-28 05:41:50
回答 1查看 1.7K关注 0票数 1

有什么问题吗?

我想做的是

代码语言:javascript
复制
// Connect Function
db.connect = function(callback){

    // Destory the Connection if there is already one
    if(db.connection) {
        console.log('[mysql]','connection destroy');
        db.connection.destroy();
        db.connection = null;

    }

    // Create the Connection
    db.connection = MySQL.createConnection(options);

    // Connect using the Connection
    db.connection.connect(function(error) {
        if(error){ 
            console.log('[mysql]', 'connect failed', error);
        } else {
            console.log('[mysql]', 'connection success');
            db.connection.database = options.database;
            callback(db.connection, error);
        }
    });

    // Listen on Connection Errors
    db.connection.on('error', function(error) {
        // Connection to the MySQL server is usually
        // lost due to either server restart, or a
        // connnection idle timeout (the wait_timeout server variable configures this)
        if(error.code === 'PROTOCOL_CONNECTION_LOST') { 
            console.log('[mysql]', 'PROTOCOL_CONNECTION_LOST')
            db.connect(callback);
        } else {                                    
            console.log('[mysql] Connection Error: ', error);               
        }
    });

    // Return Connection Instance
    return db.connection;
}

更多细节

wait_timeout和interactive_timeout必须在my.cnf中设置约10秒才能测试该问题。

代码语言:javascript
复制
[mysqld]
wait_timeout = 10
interactive_timeout = 10
EN

回答 1

Stack Overflow用户

发布于 2014-08-11 11:12:50

库意外地试图在接收到FIN数据包后对TCP套接字进行写入,这意味着TCP连接被另一方关闭了一半。我将修复这个错误信息,以给您一个更好的错误消息,但它仍然是一个错误;要么您的网络正在扼杀您的MySQL连接或其他什么。

你在使用连接池吗?看起来,根据堆栈跟踪,在超时之后,您只是在对连接进行查询。这可能是您保持一个不活动的连接时间太长,网络或MySQL服务器上的某些东西正在结束连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23333295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档