node.js连接MySQL出现read ECONNRESET 错误 解决方法

node.js连接MySQL报错Error: read ECONNRESET

连接云端的MySQL数据库发现连接成功后,一直保持连接不使用end()等断开,发现2分钟后刷新页面重新发送查询命令会超时无效!原因暂时不清楚,不像是与MySQL连接不进行查询,云端把连接断开,因为这时间太短了!

解决办法:

创建回调,监听错误

const mysql = require('mysql')
const mysql_config = {  //连接参数
        host: 'http://ocalhost:3306', //mysql连接ip地址
        user: 'root',
        password: '123456', //mySql用户名密码
        database: 'meizubase',
        port: '3306', //mysql连接端口
		useConnectionPooling: true
    };
    
const conn;
function handleError () {
   //创建一个mysql连接对象
    conn = mysql.createConnection(mysql_config) 
 
    //连接错误,2秒重试
    conn.connect(function (err) {
        if (err) {
            console.log('error when connecting to db:', err);
            setTimeout(handleError , 2000);
        }
    });
    //监听错误
    conn.on('error', function (err) {
        console.log('db error', err);
        // 如果是连接断开,自动重新连接
        if (err.code === 'PROTOCOL_CONNECTION_LOST') {
            handleError();
        } else {
            throw err;
        }
    });
}
handleError();

猜你喜欢

转载自blog.csdn.net/weixin_43245095/article/details/103113722