64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
const mysql = require('mysql2/promise');
|
|
require('dotenv').config();
|
|
|
|
async function testConnection() {
|
|
const config = {
|
|
host: process.env.DB_HOST || '129.211.213.226',
|
|
port: process.env.DB_PORT || 3306,
|
|
user: process.env.DB_USER || 'root',
|
|
password: process.env.DB_PASSWORD || 'Aiotagro@741',
|
|
database: process.env.DB_NAME || 'nxTest',
|
|
connectTimeout: 10000,
|
|
acquireTimeout: 10000,
|
|
timeout: 10000
|
|
};
|
|
|
|
console.log('尝试连接数据库...');
|
|
console.log('配置:', {
|
|
host: config.host,
|
|
port: config.port,
|
|
user: config.user,
|
|
database: config.database
|
|
});
|
|
|
|
try {
|
|
const connection = await mysql.createConnection(config);
|
|
console.log('✅ 数据库连接成功!');
|
|
|
|
// 测试查询
|
|
const [rows] = await connection.execute('SELECT 1 as test');
|
|
console.log('✅ 查询测试成功:', rows);
|
|
|
|
// 获取数据库信息
|
|
const [dbInfo] = await connection.execute('SELECT DATABASE() as current_db, VERSION() as version');
|
|
console.log('✅ 数据库信息:', dbInfo);
|
|
|
|
await connection.end();
|
|
console.log('✅ 连接已关闭');
|
|
|
|
} catch (error) {
|
|
console.error('❌ 数据库连接失败:');
|
|
console.error('错误代码:', error.code);
|
|
console.error('错误消息:', error.message);
|
|
console.error('完整错误:', error);
|
|
|
|
// 提供一些常见错误的解决方案
|
|
if (error.code === 'ECONNREFUSED') {
|
|
console.log('\n💡 可能的解决方案:');
|
|
console.log('1. 检查MySQL服务是否正在运行');
|
|
console.log('2. 检查端口3306是否开放');
|
|
console.log('3. 检查防火墙设置');
|
|
} else if (error.code === 'ER_ACCESS_DENIED_ERROR') {
|
|
console.log('\n💡 可能的解决方案:');
|
|
console.log('1. 检查用户名和密码是否正确');
|
|
console.log('2. 检查用户是否有远程访问权限');
|
|
} else if (error.code === 'ER_BAD_DB_ERROR') {
|
|
console.log('\n💡 可能的解决方案:');
|
|
console.log('1. 检查数据库名称是否正确');
|
|
console.log('2. 检查数据库是否存在');
|
|
}
|
|
}
|
|
}
|
|
|
|
testConnection();
|