嗨,我构建了一个 MERN 应用程序(使用 mysql 而不是 MongoDB)
将其部署在 VPS (Ubuntu 24.04) 上,一切看起来都不错,但是 当我尝试使用 pm2 包检查后端日志时,它给出了 我的图片有点奇怪:首先它给了我错误,然后看起来它 已连接 这是为什么呢?我的mysql是否真的在运行
这是我的数据库连接代码
const mysql = require('mysql2');
const dbHost = "127.0.0.1";
const databaseConnection = () => {
const db = mysql.createConnection({
host: '127.0.0.1',
user: 'Test',
password: 'Iwillnottell',
database: 'Test',
});
db.connect(err => {
if (err) throw err;
console.log('MySQL Connected...');
});
return db; };
module.exports = databaseConnection();
不要使用
createConnection
,而是使用 连接池。连接池更加高效并自动处理重新连接。
更新您的
databaseConnection.js
文件:
// databaseConnection.js
const mysql = require('mysql2');
const dbHost = "127.0.0.1";
const databaseConnection = () => {
const db = mysql.createPool({
host: dbHost,
user: 'Test',
password: 'Iwillnottell',
database: 'Test',
waitForConnections: true,
connectionLimit: 10, // Adjust this according to your needs
queueLimit: 0
});
db.getConnection((err, connection) => {
if (err) {
console.error('Database Connection Error:', err);
return;
}
console.log('Successfully connected to MySQL database');
connection.release();
});
return db;
};
module.exports = databaseConnection();