UNPKG

@zhaoweizll/mysql-mcp-server

Version:

A Model Context Protocol (MCP) server that enables secure interaction with MySQL/MariaDB/TiDB/AWS OceanBase/RDS/Aurora MySQL DataBases - TypeScript version

65 lines 2.83 kB
/** * 数据库连接测试脚本 */ import { executeSql } from '../utils/db-operate.js'; import { fileURLToPath } from 'url'; import * as path from 'path'; async function testDatabaseConnection() { console.log('🚀 开始测试数据库连接...\n'); try { // 测试1: 基本连接测试 console.log('📋 测试1: 检查数据库版本'); const versionResult = await executeSql('SELECT VERSION() as version'); console.log('✅ 数据库版本:', versionResult[0]?.version); // 测试2: 检查当前数据库 console.log('\n📋 测试2: 检查当前数据库'); const dbResult = await executeSql('SELECT DATABASE() as current_db'); console.log('✅ 当前数据库:', dbResult[0]?.current_db); // 测试3: 检查当前时间 console.log('\n📋 测试3: 检查数据库时间'); const timeResult = await executeSql('SELECT NOW() as `current_time`'); console.log('✅ 数据库时间:', timeResult[0]?.current_time); // 测试4: 查看所有表 console.log('\n📋 测试4: 查看数据库中的表'); const tablesResult = await executeSql('SHOW TABLES'); if (Array.isArray(tablesResult) && tablesResult.length > 0) { console.log('✅ 数据库中的表:'); tablesResult.forEach((table, index) => { const tableName = Object.values(table)[0]; console.log(` ${index + 1}. ${tableName}`); }); } else { console.log('ℹ️ 数据库中暂时没有表'); } // 测试5: 检查数据库状态 console.log('\n📋 测试5: 检查数据库状态'); const statusResult = await executeSql('SHOW STATUS LIKE "Threads_connected"'); console.log('✅ 当前连接数:', statusResult[0]?.Value); console.log('\n🎉 所有测试通过!数据库连接正常!'); } catch (error) { console.error('\n❌ 数据库连接测试失败:'); console.error('错误信息:', error); console.log('\n🔧 请检查以下配置:'); console.log('1. dbconfig.json 中的数据库配置是否正确'); console.log('2. 数据库服务是否正在运行'); console.log('3. 网络连接是否正常'); console.log('4. 用户名和密码是否正确'); process.exit(1); } } // 运行测试 if (fileURLToPath(import.meta.url) === path.resolve(process.argv[1])) { testDatabaseConnection() .then(() => { console.log('\n✨ 测试完成,程序退出'); process.exit(0); }) .catch((error) => { console.error('测试过程中发生错误:', error); process.exit(1); }); } export { testDatabaseConnection }; //# sourceMappingURL=test-db.js.map