58 lines
1.1 KiB
JavaScript
Raw Normal View History

2025-10-22 14:08:03 +08:00
const mysql = require('mysql2/promise');
// 数据库连接配置
const dbConfig = {
2025-10-23 09:31:28 +08:00
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
2025-10-22 14:08:03 +08:00
charset: 'utf8mb4',
timezone: '+08:00',
acquireTimeout: 60000,
timeout: 60000,
reconnect: true
};
// 创建连接池
const pool = mysql.createPool({
...dbConfig,
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
});
// 测试数据库连接
async function testConnection() {
2025-10-23 09:45:42 +08:00
2025-10-22 14:08:03 +08:00
const connection = await pool.getConnection();
console.log('数据库连接成功');
connection.release();
2025-10-23 09:45:42 +08:00
2025-10-22 14:08:03 +08:00
}
// 执行查询
async function executeQuery(sql, params = []) {
try {
const [rows] = await pool.execute(sql, params);
return {
success: true,
data: rows,
count: rows.length
};
} catch (error) {
console.error('数据库查询错误:', error);
throw {
success: false,
message: '数据库查询失败',
error: error.message
};
}
}
module.exports = {
pool,
testConnection,
executeQuery
};