我正在使用带有"mysql2"模块的节点,如何检查配置设置是否正确并正确连接到数据库?
这些是我的连接设置,但是我想在完成任何查询之前检查数据库连接是否有效,例如允许用户登录。
const mysql = require('mysql2');
const conn = mysql.createPool({
host: 'hostname',
port: port,
database: 'db',
user: 'root',
password: 'password',
dateStrings: 'date'
});
const pool = conn.promise();
module.exports = pool;
我添加了此代码(在module.exports行之前(以抛出错误,但是有更好的方法可以做到这一点吗?错误代码-3008与" ENOTFOUND"代码有关,这是我在主机名不正确且连接失败时收到的内容。
pool.execute('SELECT * FROM table LIMIT 1')
.catch(err => {
if (err.errno === -3008) {
throw new Error('Can't connect to database please check connection settings.');
}
});
你能通过 mysql 中的命令行连接吗?
mysql -h localhost -u myname -ppassword mydb
另外,要在执行查询之前测试连接,我建议您使用.getConnection