Node的Express框架部署在宝塔时,连接Mysql超时关项目问题

最近在学Cocos,用Node写两个接口,将游戏的最高分保存在Mysql里,但是我第一天调用的时候有用,第二天调用的时候,就没用了。 我登录上宝塔一看,原来是项目关了,我以为是内存不够,自己关了。但第三天,又调用不了了,然后我再登录宝塔,还是项目关了。我就觉得奇怪了,项目怎么会自动关掉,一看项目日志,原来是Mysql连接超时。

解决方法: 导入mysql2这个包,使用连接池

const mysql = require('mysql2');
const pool = mysql.createPool({
    host: 'xxx.xxx.xxx.xxx',
    user: 'cocos',
    password: 'xxx',
    database: 'cocos',
    multipleStatements: true
})


//调用的时候就创建连接
app.get('/api/getScore', (req, res) => {
    pool.getConnection(function (err, connection) {
		if (err) throw err;
		const name = req.query.name;
        const sqlStr = "SELECT * FROM score where name = ?";
        connection.query(sqlStr, name, (error, results) => {
            if (error) return res.json({ code: 10001, message: error})
            res.json({ code: 10000, message: results})
        })
		connection.release();
	});
})
end