2025-08-30 14:33:49 +08:00
|
|
|
const mysql = require('mysql2');
|
|
|
|
|
|
|
|
|
|
// 生产环境数据库配置(先不指定数据库)
|
|
|
|
|
const prodConfig = {
|
|
|
|
|
host: '129.211.213.226',
|
|
|
|
|
port: 9527,
|
|
|
|
|
user: 'root',
|
|
|
|
|
password: 'aiotAiot123!'
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function testConnection(config, environment) {
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
console.log(`\n🔗 正在测试 ${environment} 数据库连接...`);
|
|
|
|
|
console.log(`主机: ${config.host}`);
|
|
|
|
|
console.log(`端口: ${config.port}`);
|
|
|
|
|
|
|
|
|
|
// 创建连接
|
|
|
|
|
const connection = mysql.createConnection(config);
|
|
|
|
|
|
|
|
|
|
connection.connect((err) => {
|
|
|
|
|
if (err) {
|
|
|
|
|
console.error('❌ 数据库连接失败:', err.message);
|
|
|
|
|
connection.end();
|
|
|
|
|
return resolve({ success: false, error: err.message });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log('✅ 数据库连接成功!');
|
|
|
|
|
|
|
|
|
|
// 测试查询
|
|
|
|
|
console.log('📊 执行测试查询...');
|
|
|
|
|
connection.query('SELECT 1 as test_result', (err, rows) => {
|
|
|
|
|
if (err) {
|
|
|
|
|
console.error('❌ 测试查询失败:', err.message);
|
|
|
|
|
connection.end();
|
|
|
|
|
return resolve({ success: false, error: err.message });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log('✅ 测试查询成功:', rows[0]);
|
|
|
|
|
|
|
|
|
|
// 获取数据库版本
|
|
|
|
|
connection.query('SELECT VERSION() as version', (err, versionRows) => {
|
|
|
|
|
if (err) {
|
|
|
|
|
console.error('❌ 获取版本失败:', err.message);
|
2025-08-31 00:45:46 +08:00
|
|
|
} else {
|
|
|
|
|
console.log('📋 数据库版本:', versionRows[0].version);
|
2025-08-30 14:33:49 +08:00
|
|
|
}
|
|
|
|
|
|
2025-08-31 00:45:46 +08:00
|
|
|
// 列出所有数据库
|
|
|
|
|
connection.query('SHOW DATABASES', (err, dbRows) => {
|
2025-08-30 14:33:49 +08:00
|
|
|
if (err) {
|
|
|
|
|
console.error('❌ 获取数据库列表失败:', err.message);
|
|
|
|
|
} else {
|
2025-08-31 00:45:46 +08:00
|
|
|
console.log('📚 可用数据库:');
|
|
|
|
|
dbRows.forEach(row => {
|
|
|
|
|
console.log(` • ${row.Database}`);
|
|
|
|
|
});
|
2025-08-30 14:33:49 +08:00
|
|
|
}
|
2025-08-31 00:45:46 +08:00
|
|
|
|
|
|
|
|
connection.end();
|
|
|
|
|
resolve({ success: true });
|
2025-08-30 14:33:49 +08:00
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function main() {
|
|
|
|
|
console.log('🚀 开始测试结伴客系统数据库连接');
|
2025-08-31 00:45:46 +08:00
|
|
|
console.log('============================================================');
|
2025-08-30 14:33:49 +08:00
|
|
|
|
2025-08-31 00:45:46 +08:00
|
|
|
// 测试生产环境数据库
|
2025-08-30 14:33:49 +08:00
|
|
|
const prodResult = await testConnection(prodConfig, '生产环境');
|
|
|
|
|
|
2025-08-31 00:45:46 +08:00
|
|
|
console.log('\n============================================================');
|
|
|
|
|
console.log('🏁 数据库连接测试完成');
|
2025-08-30 14:33:49 +08:00
|
|
|
|
2025-08-31 00:45:46 +08:00
|
|
|
if (prodResult.success) {
|
|
|
|
|
console.log('🎉 所有测试通过!');
|
|
|
|
|
} else {
|
|
|
|
|
console.log('💥 部分测试失败');
|
2025-08-30 14:33:49 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-08-31 00:45:46 +08:00
|
|
|
// 执行测试
|
|
|
|
|
main().catch(console.error);
|