Skip to main content
Glama
liyq0307
by liyq0307
README.md
# MySQL MCP 服务器 - TypeScript 版本

这是一个为模型上下文协议(Model Context Protocol, MCP)设计的高性能、企业级MySQL数据库操作服务器。基于FastMCP v2.0+框架构建,提供29个专业数据库工具,集成了三级智能缓存、双层性能监控、增强的连接池管理、RBAC权限控制和全面的安全保护机制。

**🎯 核心亮点:**
- **29个专业工具**: 涵盖核心数据操作、架构管理、高性能批量操作、备份导出、系统监控和维护等全场景
- **企业级安全**: 20+种SQL注入检测模式,多层安全验证、智能威胁分析和RBAC权限控制
- **智能性能**: 三级LRU缓存系统(O(1)复杂度)、双层指标收集、自动内存压力感知优化
- **高级可靠性**: 指数退避重试策略、智能错误分类、上下文恢复建议和优雅降级
- **完整数据生态**: 全量/增量/大文件备份、多格式(Excel/CSV/JSON/SQL)导入导出、智能进度跟踪
- **零配置**: 环境变量驱动配置,支持不同环境的一键部署和动态配置更新

服务器通过环境变量进行配置。您可以选择以下方式之一:
1. **使用 .env 文件**(推荐):
   - 将 `.env.example` 复制为 `.env`
   - 根据您的环境自定义 `.env` 中的值
   - 服务器启动时会自动加载这些值
2. **直接设置环境变量**:
   - 在运行服务器之前在 shell 中导出变量
   - 在进程管理器或容器配置中设置变量

## 🚀 核心特性

### ⚡ 高性能架构
- **FastMCP 框架**: 采用现代化的 FastMCP 构建,提供卓越的性能和可靠性。
- **智能缓存系统**: 多级 LRU 缓存,支持 TTL(生存时间)和访问统计。
  - 表结构缓存 (`schemaCache`)
  - 表存在性检查缓存 (`tableExistsCache`)
  - 索引信息缓存 (`indexCache`)
- **增强型连接池**: 基于 `mysql2/promise`,使用ConnectionPool类,支持预创建连接、健康检查、自动重连和智能资源管理。
- **异步处理**: 所有数据库操作均为异步,充分利用 Node.js 事件循环,实现高并发处理。

### 🧠 高级功能
- **增强重试机制**: SmartRetryStrategy实现指数退避算法,智能错误分类,上下文感知的自动重试策略,最大重试次数可配置。
- **自适应速率限制**: 基于令牌桶算法的动态频控,支持系统负载感知和自动压力释放机制,包含详细的限流统计和预防措施。
- **查询验证与安全**: 多层查询验证,包括参数化查询强制、威胁模式检测、可配置安全级别(STRICT/MODERATE/BASIC),支持实时威胁检测。
- **智能缓存系统**: 三级LRU缓存架构,支持O(1)复杂度、TTL管理、内存压力自适应和自动失效机制,包含缓存预热和智能清理。
- **实时性能监控**: EnhancedMetrics系统提供双层指标收集、时间序列分析、趋势检测和实时性能报告,支持慢查询检测和性能回归分析。
- **内存优化管理**: 高级内存泄漏检测(线性回归算法)、自动垃圾回收、压力感知缓存调整和智能资源优化,支持内存压力分级和自动优化。
- **智能错误分类**: 自动错误分类引擎,提供修复建议、预防措施和上下文恢复策略,支持多种数据库错误类型的智能诊断。
- **任务队列系统**: 支持优先级调度、并发控制、任务取消和详细进度跟踪,包含队列状态监控和智能重试机制。
- **MySQL复制监控**: 主从复制状态检测、延迟分析、错误诊断和配置验证,支持复制延迟趋势分析和自动告警。
- **全面安全审计**: 20+种SQL注入检测模式、用户权限审计、数据保护评估和合规性检查,支持SOX/GDPR/PCI-DSS合规性验证。
- **备份恢复优化**: 全量/增量/大文件备份策略、智能压缩、备份验证和错误恢复机制,支持备份进度跟踪和恢复点验证。
- **MySQL索引管理**: 完整的索引生命周期管理,支持创建、删除、分析和优化多种索引类型(普通/唯一/主键/全文/空间索引)。
- **用户权限管理**: 企业级用户管理解决方案,支持用户创建、删除、权限授予和撤销,包含安全密码验证和审计追踪。
- **数据报表生成**: 智能数据报表生成,支持多查询整合、多格式输出(Excel/CSV/JSON)和自定义报表模板。
- **优雅降级机制**: 多层降级策略,确保核心功能与辅助功能的隔离运行,支持临时功能禁用和自动恢复。

### 🛡️ 企业级安全
- **多层防护体系**: 包括SecurityValidator类进行输入验证、20+SQL注入模式检测、危险语句扫描和实时威胁分析。
- **安全的参数化查询**: 所有数据修改操作默认使用预处理语句,从根本上杜绝SQL注入。
- **敏感信息保护**: 诊断信息中自动屏蔽数据库密码。
- **高级SQL注入检测**: 实现20多种SQL注入模式的全面保护。

### 🔧 零配置与易用性
- **常量化设计**: 所有配置项和固定字符串在 `constants.ts` 中统一定义,提高代码可读性和可维护性。
- **配置分离**: 数据库、安全和缓存配置在 `config.ts` 中集中管理。
- **环境变量驱动**: 完全支持通过环境变量进行配置,轻松实现开发、测试和生产环境的切换。

## 目录

- [快速开始](#快速开始)
- [安装说明](#安装说明)
- [环境变量配置](#环境变量配置)
- [Claude Desktop集成](#claude-desktop集成)
- [API工具参考](#🔧-完整工具生态-29个专业工具)
- [使用示例](#使用示例)
- [架构设计](#架构设计)
- [性能监控](#性能监控)
- [缓存策略](#缓存策略)
- [安全特性](#安全特性)
- [内存管理](#内存管理)
- [故障排除](#故障排除)
- [性能调优](#性能调优)
- [开发指南](#开发指南)
- [许可证](#许可证)

## 快速开始

### 1. 环境要求
- Node.js v20.0.0 或更高版本
- npm v10.0.0 或更高版本
- MySQL 5.7 或更高版本 (推荐 MySQL 8.0+)

### 2. 克隆项目
```bash
git clone https://github.com/liyq0307/MySQLMCP.git
cd MySQLMCP
```

### 3. 安装依赖
```bash
npm install
```

### 4. 配置环境变量
复制 `.env.example` 文件并创建 `.env` 文件:
```bash
cp .env.example .env
```
然后编辑 `.env` 文件,填入您的数据库凭据。
```bash
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database
```

### 5. 编译并运行服务器
```bash
# 编译 TypeScript 代码
npm run build

# 启动服务器
npm start
```

或者用于开发:
```bash
# 使用 ts-node 直接运行进行开发
npm run dev
```

### 6. 验证安装
服务器运行后,您可以使用系统状态工具验证其是否正常工作:
```json
{
  "scope": "full",
  "includeDetails": true
}
```

## 安装说明

### 系统要求
- Node.js v20.0.0 或更高版本
- npm v10.0.0 或更高版本
- MySQL 5.7 或更高版本 (推荐 MySQL 8.0+)
- 最低 2GB 内存 (生产环境推荐 4GB+)
- 最少 500MB 可用磁盘空间

### 核心依赖
- `fastmcp`: 核心的 MCP 框架 (v2.0+)。高性能模型上下文协议服务器实现。
- `mysql2`: 高性能 MySQL 驱动,支持连接池和 Promise API,支持预处理语句。
- `zod`: 用于工具参数的类型声明和验证,支持运行时类型安全。
- `dotenv`: 用于从 `.env` 文件加载环境变量,支持安全配置管理。

### 开发依赖
- `typescript`: TypeScript 语言编译器,支持严格类型检查。
- `ts-node`: 直接运行 TypeScript 代码的工具,无需编译。
- `eslint`: 用于代码规范和质量检查,支持自定义规则。
- `jest`: 用于单元测试和集成测试的框架,支持代码覆盖率分析。
- `@types/node`: Node.js API 的 TypeScript 定义。
- `@types/jest`: Jest 测试框架的 TypeScript 定义。

### 可选性能依赖
为了增强性能监控和系统分析:
- 带 `--expose-gc` 标志的 Node.js,用于垃圾回收监控
- 用于 CPU 和内存分析的系统监控工具
- 用于安全连接的 SSL/TLS 证书

## 环境变量配置

### 🔗 数据库连接配置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| `MYSQL_HOST` | 数据库主机地址 | `localhost` |
| `MYSQL_PORT` | 数据库端口 | `3306` |
| `MYSQL_USER` | 数据库用户名 | `root` |
| `MYSQL_PASSWORD` | 数据库密码 | `""` |
| `MYSQL_DATABASE` | 数据库名称 | `test` |
| `MYSQL_CONNECTION_LIMIT` | 连接池最大连接数 | `20` |
| `MYSQL_CONNECT_TIMEOUT` | 连接超时时间(毫秒) | `60000` |
| `MYSQL_IDLE_TIMEOUT` | 空闲连接超时时间(毫秒) | `300000` |
| `MYSQL_SSL` | 是否启用SSL连接 | `false` |
| `MYSQL_CHARSET` | 数据库字符集 | `utf8mb4` |
| `MYSQL_TIMEZONE` | 数据库时区 | `+00:00` |
| `QUERY_TIMEOUT` | 查询执行超时时间(毫秒) | `30000` |

### 🛡️ 安全配置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| `SECURITY_MAX_QUERY_LENGTH` | 最大查询长度(字符数) | `10000` |
| `SECURITY_MAX_INPUT_LENGTH` | 最大输入长度(字符数) | `1000` |
| `SECURITY_MAX_TABLE_NAME_LENGTH` | 最大表名长度(字符数) | `64` |
| `SECURITY_ALLOWED_QUERY_TYPES` | 允许的查询类型(逗号分隔) | `SELECT,INSERT,UPDATE,DELETE,SHOW,DESCRIBE,EXPLAIN,CREATE,DROP,ALTER` |
| `SECURITY_ENABLE_QUERY_TYPE_RESTRICTIONS` | 启用查询类型限制 | `true` |
| `SECURITY_MAX_RESULT_ROWS` | 每次查询最大返回行数 | `1000` |
| `SECURITY_QUERY_TIMEOUT` | 查询执行超时时间(毫秒) | `30000` |
| `RATE_LIMIT_MAX` | 时间窗口内最大请求数 | `100` |
| `RATE_LIMIT_WINDOW` | 频率限制时间窗口(毫秒) | `60000` |
| `RATE_LIMIT_ENABLED` | 启用频率限制 | `true` |

### ⚡ 性能配置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| `SCHEMA_CACHE_SIZE` | 表结构缓存大小 | `128` |
| `TABLE_EXISTS_CACHE_SIZE` | 表存在性缓存大小 | `64` |
| `INDEX_CACHE_SIZE` | 索引信息缓存大小 | `64` |
| `CACHE_TTL` | 缓存过期时间(秒) | `300` |
| `BATCH_SIZE` | 批量操作大小 | `1000` |
| `MONITORING_ENABLED` | 启用性能监控 | `true` |
| `MONITORING_SNAPSHOT_INTERVAL` | 性能快照间隔(毫秒) | `30000` |
| `MONITORING_HISTORY_SIZE` | 指标历史记录大小 | `1000` |
| `MONITORING_SLOW_QUERY_THRESHOLD` | 慢查询阈值(毫秒) | `1000` |
| `MEMORY_MONITORING_ENABLED` | 启用内存监控 | `true` |
| `MEMORY_MONITORING_INTERVAL` | 内存监控间隔(毫秒) | `30000` |
| `MEMORY_HISTORY_SIZE` | 内存历史记录大小 | `100` |
| `MEMORY_PRESSURE_THRESHOLD` | 内存压力阈值(0-1) | `0.8` |
| `MEMORY_CACHE_CLEAR_THRESHOLD` | 内存缓存清除阈值(0-1) | `0.85` |
| `MEMORY_AUTO_GC` | 启用自动垃圾回收 | `true` |
| `SYSTEM_MONITORING_INTERVAL` | 系统监控间隔(毫秒) | `30000` |

### 🖥️ 服务器配置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| `SERVER_NAME` | 服务器名称 | `MySQL-MCP-Server` |
| `SERVER_VERSION` | 服务器版本 | `1.0.0` |
| `NODE_ENV` | Node环境 (development, production, test) | `development` |
| `LOG_LEVEL` | 日志级别 (debug, info, warn, error) | `info` |
| `DEBUG` | 启用调试模式 | `false` |
| `MCP_TRANSPORT` | MCP传输协议 | `stdio` |

## Claude Desktop集成

要将此服务器添加到您的Claude Desktop配置中,请编辑您的 `claude_desktop_config.json` 文件。

### 基础配置示例
```json
{
  "mcpServers": {
    "mysql-mcp-ts": {
      "command": "node",
      "args": ["/path/to/your/MySQLMCP_TS/dist/index.js"], // 编译后的JS文件绝对路径
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}
```

### 高性能生产环境配置
```json
{
  "mcpServers": {
    "mysql-prod": {
      "command": "node",
      "args": ["/path/to/your/MySQLMCP_TS/dist/index.js"],
      "env": {
        "NODE_ENV": "production",
        "MYSQL_HOST": "prod-db-host",
        "MYSQL_USER": "app_user",
        "MYSQL_PASSWORD": "secure_password",
        "MYSQL_DATABASE": "production_db",
        "MYSQL_CONNECTION_LIMIT": "50",
        "RATE_LIMIT_MAX": "1000",
        "SCHEMA_CACHE_SIZE": "256",
        "CACHE_TTL": "600",
        "MYSQL_SSL": "true"
      }
    }
  }
}
```

## 🔧 完整工具生态 (29个专业工具)

本系统提供29个专业级数据库工具,覆盖企业应用的全部需求:

### 📊 核心数据库操作 (7个工具)

#### `mysql_query`
执行原始SQL查询,具有全面的验证和安全检查。支持参数化查询以确保安全。  
支持 SELECT、SHOW、DESCRIBE、INSERT、UPDATE、DELETE、CREATE、DROP 和 ALTER 操作。  
**示例:**
##### 简单的 SELECT 查询
```json
{
  "query": "SELECT * FROM users LIMIT 10",
}
```
##### 安全的参数化查询
```json
{
  "query": "SELECT * FROM users WHERE id = ? AND status = ?",
  "params": [123, "active"]
}
```
  
#### `mysql_show_tables`
列出当前数据库中的所有表,支持智能缓存。  
结果会被缓存以优化性能,提高频繁查询的响应速度。  
提供数据库架构的快速概览,支持开发和运维场景。  
**示例:**
```json
{}
```

#### `mysql_describe_table` 
获取指定表的完整结构,包括列定义、数据类型、约束、索引信息和其他元数据。  
支持 DESCRIBE 和 INFORMATION_SCHEMA 查询。  
**示例:**
```json
{
  "table_name": "users"
}
```

#### `mysql_select_data`
从表中查询数据,支持可选的过滤、列选择和行数限制。  
提供灵活的查询构建,具有完整的SQL注入防护和性能优化。  
支持条件查询、分页查询和结果缓存等高级功能。  
**示例:**
##### 查询表中的所有数据
```json
{
  "table_name": "products",
}
```
##### 查询特定列并进行过滤和限制
```json
{
  "table_name": "users",
  "columns": ["id", "name", "email"],
  "where_clause": "status = 'active'",
  "limit": 50,
  "order_by": "price DESC"
}
```
##### 复杂条件查询
```json
{
  "table_name": "orders",
  "columns": ["order_id", "customer_id", "total_amount"],
  "where_clause": "created_at >= '2024-01-01' AND status IN ('pending', 'processing')",
  "limit": 100
}
```

#### `mysql_insert_data`
使用参数化查询安全地向表中插入新数据,确保数据完整性和安全性。  
自动验证所有输入数据,使用预处理语句防止SQL注入攻击。  
支持单行插入和批量数据插入,包含事务安全保障。  
**示例:**
```json
{
  "table_name": "users",
  "data": {
    "name": "John Doe",
    "email": "john@example.com",
    "status": "active"
  }
}
```

#### `mysql_update_data`
根据指定条件更新表中的现有数据,确保数据修改的安全性和一致性。  
提供完整的输入验证,具有WHERE子句验证、预处理语句和事务安全保障。  
支持条件更新和批量字段修改,包含详细的操作审计信息。  
**示例:**
```json
{
  "table_name": "users",
  "data": { "status": "inactive", "updated_at": "2024-01-01" },
  "where_clause": "id = ?",
  "params": [123]
}
```

#### `mysql_delete_data`
根据指定条件从表中安全删除数据,确保删除操作的准确性和安全性。  
使用参数化查询和WHERE子句验证,防止误删除和SQL注入攻击。  
支持条件删除操作,包含删除确认和事务安全保障。   
**示例:**
```json
{
  "table_name": "users",
  "where_clause": "id = ?",
  "params": [123]
}
```

### ⚡ 高性能批量操作 (2个工具)

#### `mysql_batch_execute`
在单个事务中执行多个SQL操作,确保原子性和数据一致性。所有查询要么全部成功执行,要么全部回滚,
特别适用于需要多步骤操作的复杂业务场景,如订单处理、库存管理等。提供完整的参数验证、
性能监控和错误处理机制,确保批量操作的安全性和可靠性。  
**示例:**
```json
{
  "queries": [
    {"sql": "INSERT INTO users (name, email) VALUES (?, ?)", "params": ["John", "john@example.com"]},
    {"sql": "UPDATE profiles SET user_id = ? WHERE email = ?", "params": [1, "john@example.com"]},
    {"sql": "INSERT INTO user_logs (user_id, action) VALUES (LAST_INSERT_ID(), ?)", "params": ["user_created"]}
  ]
}
```
```json
{
  "queries": [
    { "sql": "INSERT INTO new_users SELECT * FROM temp_users WHERE processed = 0" },
    { "sql": "UPDATE temp_users SET processed = 1 WHERE processed = 0" },
    { "sql": "DELETE FROM temp_users WHERE created_at < DATE_SUB(NOW(), INTERVAL 7 DAY)" }
  ]
}
```

#### `mysql_batch_insert`
高效地向表中批量插入多行数据,支持事务安全保障和性能优化。  
使用优化的批量插入算法,减少数据库往返次数,提高插入性能。  
动验证所有数据,确保数据完整性和安全性,支持大数据量插入。  
提供详细的性能指标和插入统计信息,适用于数据导入和批量数据处理场景。  
**示例:**
```json
{
  "table_name": "products",
  "data": [
    {"name": "Product A", "price": 29.99, "category": "Electronics"},
    {"name": "Product B", "price": 49.99, "category": "Books"},
    {"name": "Product C", "price": 19.99, "category": "Home"}
  ]
}
```

### 🏗️ 数据库架构管理 (6个工具)

#### `mysql_create_table`
使用指定的列定义和约束创建新的数据库表,支持完整的表结构定义。  
提供全面的安全验证,包括表名验证、列定义验证,确保数据库操作的安全性。  
支持主键、自增列、默认值等高级约束,支持批量列定义和事务安全保障。  
创建成功后自动使相关缓存失效,确保数据一致性。  
**示例:**

##### 创建简单的用户表
```json
{
  "table_name": "users",
  "columns": [
    { "name": "id", "type": "INT", "primary_key": true, "auto_increment": true },
    { "name": "username", "type": "VARCHAR(50)", "nullable": false },
    { "name": "email", "type": "VARCHAR(100)", "nullable": false },
    { "name": "created_at", "type": "TIMESTAMP", "default": "CURRENT_TIMESTAMP" }
  ]
}
```
##### 指定索引创建
```json
{
  "table_name": "users",
  "columns": [
    {"name": "id", "type": "INT", "primary_key": true, "auto_increment": true},
    {"name": "name", "type": "VARCHAR(255)", "nullable": false},
    {"name": "email", "type": "VARCHAR(255)", "nullable": false, "unique": true},
    {"name": "created_at", "type": "TIMESTAMP", "default": "CURRENT_TIMESTAMP"}
  ],
  "indexes": [
    {"name": "idx_email", "columns": ["email"], "type": "UNIQUE"},
    {"name": "idx_created_at", "columns": ["created_at"], "type": "INDEX"}
  ]
}
```

#### `mysql_drop_table`
从数据库中安全删除(丢弃)指定的表,支持条件删除选项和完整的安全验证。  
提供 IF EXISTS 选项避免表不存在时的错误,支持事务安全保障和缓存自动失效。  
删除操作前会进行严格的安全验证,确保不会误删重要数据。  
特别适用于开发环境中的表清理和生产环境的表维护操作。  
**示例:**
##### 删除表
```json
{
  "table_name": "temp_table",
}
```

##### 安全删除表
```json
{
  "table_name": "temp_table",
  "if_exists": true
}
```

#### `mysql_get_schema`
检索数据库架构信息,包括表、列、约束、索引和关系映射。  
提供完整的数据库结构信息用于分析、管理和文档生成,支持特定表查询。  
利用 INFORMATION_SCHEMA 进行高效查询,支持缓存优化和性能监控。  
**示例:**
##### 获取整个数据库的架构信息
```json
{}
```
##### 获取特定表的架构信息
```json
{
  "table_name": "users"
}
```

#### `mysql_get_foreign_keys`
检索特定表或数据库中所有表的外键约束信息,提供表间关系映射和引用完整性约束的详细信息。  
利用 INFORMATION_SCHEMA.KEY_COLUMN_USAGE 进行高效查询,支持特定表查询和全局关系分析。  
帮助理解数据库架构中的表间依赖关系,支持数据库设计优化和数据完整性维护。  
提供外键约束的详细信息,包括本地列、引用表、引用列和约束名称。  
**示例:**
```json
{
  "table_name": "orders"
}
```

#### `mysql_alter_table`
修改现有表的结构,支持添加、修改、删除列、索引和约束等高级操作。  
提供全面的安全验证、事务安全保障和智能错误处理机制。  
支持批处理多个修改操作,提高数据库架构管理的效率和安全性。  
包含性能监控和缓存自动失效,确保修改后的数据一致性。  
**示例:**
```json
{
  "table_name": "users",
  "alterations": [
    { "type": "ADD_COLUMN", "column": { "name": "age", "type": "INT", "nullable": true } }
  ]
}
```

#### `mysql_performance_optimize`
性能优化工具,提供企业级MySQL性能优化解决方案,提供全方位数据库性能诊断和优化功能。
集成了慢查询分析、索引优化建议、性能报告生成等高级性能优化能力。
支持智能分析查询模式、识别性能瓶颈、生成优化建议和详细性能报告。
适用于数据库管理员进行性能调优、查询优化、系统监控等场景。
**操作类型:**
- **analyze_slow_queries**: 分析慢查询日志
- **suggest_indexes**: 生成索引优化建议
- **performance_report**: 生成性能综合报告
- **query_profiling**: 对特定查询进行性能剖析

**示例:**
```json
// 启用慢查询日志
{
  "action": "enable_slow_query_log",
  "longQueryTime": 2,
  "logQueriesNotUsingIndexes": true
}

// 分析慢查询
{
  "action": "analyze_slow_queries",
  "limit": 10,
  "include_details": true
}

// 生成综合性能报告
{
  "action": "suggest_indexes",
  "time_range": "1 week"
}

// 对特定查询进行性能剖析
{
  "action": "query_profiling",
  "query": "SELECT * FROM users WHERE email = ? AND status = ?",
  "params": ["user@example.com", "active"],
  "include_details": true
}
```

### 💾 数据备份与导出 (5个工具)

#### `mysql_backup`
数据库备份,支持多种备份策略和高级功能。  
提供全量备份、增量备份、大文件备份等多种备份类型,满足不同场景的需求。  
集成了进度跟踪、错误恢复、队列管理等高级功能,确保备份过程的可靠性和可观测性。  
支持智能压缩、数据验证、备份恢复等多种企业级特性。  
**示例:**
##### 全量备份所有表
```json
{
  "outputDir": "/backup",
  "compress": true,
  "includeData": true,
  "includeStructure": true,
  "filePrefix": "daily_backup"
}
```
##### 仅备份表结构
```json
{
  "includeData": false,
  "includeStructure": true,
  "tables": ["users", "products", "orders"],
  "filePrefix": "schema_only"
}
```
##### 增量备份(基于时间戳)
```json
{
  "backupType": "incremental",
  "incrementalMode": "timestamp",
  "lastBackupTime": "2024-01-15T00:00:00Z",
  "trackingTable": "backup_history",
  "filePrefix": "incremental_backup"
}
```
##### 大文件备份(适用于超大数据集)
```json
{
  "backupType": "large-file",
  "chunkSize": 128,
  "maxMemoryUsage": 1024,
  "compressionLevel": 9,
  "diskThreshold": 500,
  "filePrefix": "large_dataset_backup"
}
```
##### 带进度跟踪的备份
```json
{
  "withProgress": true,
  "priority": 5,
  "useQueue": true,
  "filePrefix": "progress_tracked_backup"
}
```
##### 高可靠性的备份(带错误恢复)
```json
{
  "withRecovery": true,
  "retryCount": 3,
  "compress": true,
  "maxFileSize": 200,
  "filePrefix": "reliable_backup"
}
```

#### `mysql_verify_backup`
备份验证,确保备份文件的完整性、有效性和可恢复性。  
提供全面的备份验证,包括文件格式检查、数据完整性验证、元数据验证等。  
支持多种验证级别和详细的验证报告,帮助确保备份数据的可靠性。   
集成了智能验证算法,能够检测数据损坏、格式错误和潜在的恢复问题。  

**示例:**
##### 基础备份验证
```json
{
  "backupFilePath": "/backup/mysql_backup_2024.sql"
}
```
##### 深度验证(全面检查)
```json
{
  "backupFilePath": "/backup/mysql_backup_2024.sql",
  "deepValidation": true,
  "validateStructure": true,
  "validateData": true,
  "checkCorruption": true,
  "maxSampleSize": 5000 
}
```
##### 快速结构验证
```json
{
  "backupFilePath": "/backup/schema_only_backup.sql",
  "deepValidation": false,
  "validateStructure": true,
  "validateData": false,
  "generateReport": true,
  "outputFormat": "text"
}
```
##### 生产环境验证(平衡速度和准确性)
```json
{
  "backupFilePath": "/backup/production_backup.sql",
  "deepValidation": true,
  "validateStructure": true,
  "validateData": true,
  "checkCorruption": true,
  "maxSampleSize": 10000,
  "generateReport": true,
  "outputFormat": "json" 
}
```
##### 大文件验证(优化内存使用)
```json
{
  "backupFilePath": "/backup/large_backup.sql",
  "deepValidation": false,
  "validateStructure": true,
  "validateData": false,
  "checkCorruption": true,
  "maxSampleSize": 1000,
  "generateReport": false 
}
```

#### `mysql_export_data`
数据导出,支持将MySQL查询结果导出为多种格式文件(Excel、CSV、JSON)。  
集成了高级错误恢复机制、实时进度跟踪、任务队列管理等企业级特性。  
支持大数据量导出、内存优化、多种格式转换和详细的导出统计信息。  
特别适用于数据分析、报表生成、数据迁移等场景。

主要特性:  
- **多格式支持**:Excel(.xlsx)、CSV(.csv)、JSON(.json)  
- **高级导出选项**:自定义文件名、工作表名、包含表头等  
- **错误恢复机制**:自动重试、回退策略、详细错误诊断  
- **进度跟踪**:实时进度更新、取消支持、详细统计信息  
- **队列管理**:异步执行、优先级调度、并发控制  
- **内存优化**:流式处理、大文件分块、内存使用监控  
- **企业级功能**:详细日志、性能指标、操作审计    


**示例:**
##### 基础数据导出(Excel格式)
```json
{
  "query": "SELECT id, name, email, created_at FROM users WHERE status = ?",
  "params": ["active"]
}
```
##### 导出为CSV格式(大数据量优化)
```json
{
  "query": "SELECT * FROM orders WHERE order_date >= ?",
  "params": ["2024-01-01"],
  "format": "csv",
  "maxRows": 500000,
  "fileName": "orders_2024"
}
```
##### JSON格式导出(API数据准备)
```json
{
  "query": "SELECT product_id, name, price, inventory FROM products",
  "format": "json",
  "includeHeaders": false,
  "outputDir": "/api/data"
}
``` 
##### 带进度跟踪的导出
```json
{
  "query": "SELECT * FROM large_dataset",
  "withProgress": true,
  "enableCancellation": true,
  "maxRows": 1000000
}
``` 
##### 异步队列导出(高并发场景)
```json
{
  "query": "SELECT * FROM analytics_data",
  "useQueue": true,
  "priority": 5,
  "immediateReturn": true,
  "fileName": "analytics_report"
}
``` 
##### 高可靠性导出(带错误恢复)
 ```json
{
  "query": "SELECT * FROM critical_data",
  "withRecovery": true,
  "retryCount": 3,
  "exponentialBackoff": true,
  "fallbackFormat": "csv",
  "reducedBatchSize": 5000
}
```
##### 自定义Excel导出(多工作表样式)
 ```json
{
  "query": "SELECT customer_id, order_total, order_date FROM customer_orders",
  "format": "excel",
  "sheetName": "CustomerOrders",
  "includeHeaders": true,
  "fileName": "customer_analysis_Q1"
}
```
##### 企业级大数据导出
```json
{
  "query": "SELECT * FROM enterprise_logs WHERE timestamp >= ? AND timestamp <= ?",
  "params": ["2024-01-01 00:00:00", "2024-01-31 23:59:59"],
  "format": "csv",
  "maxRows": 5000000,
  "withRecovery": true,
  "withProgress": true,
  "useQueue": true,
  "priority": 10,
  "fileName": "enterprise_logs_january"
}
```

#### `mysql_import_data`
企业级数据导入解决方案,支持多种数据格式(CSV、JSON、Excel、SQL)的批量导入。
集成了智能数据验证、字段映射、事务管理、错误处理和性能监控等完整导入生态系统。
提供从简单文件到复杂多格式数据导入的全方位支持。

主要特性:
  - **多格式支持**:CSV(自定义分隔符)、JSON(含嵌套数据)、Excel(多工作表)、SQL脚本
  - **智能验证**:类型检查、约束验证、重复检测、数据完整性保障
  - **字段映射**:自动映射和手动配置,支持复杂数据结构转换
  - **事务控制**:单条和批量事务模式,确保数据一致性和ACID特性
  - **错误处理**:详细错误诊断、分级错误报告、自动错误恢复
  - **批量优化**:内存分块处理、大文件分批写入、性能监控
  - **重复处理**:智能重复检测,支持跳过、更新、错误处理策略
  - **进度跟踪**:实时导入进度、性能统计、预估完成时间

应用场景:
  - **企业数据迁移**:大规模数据集迁移,异构系统数据同步
  - **ETL流程**:数据仓库装载,增量/全量数据更新
  - **系统集成**:第三方系统数据导入,企业应用数据交换
  - **业务处理**:用户数据导入、产品目录更新、订单批量处理
  - **开发环境**:测试数据导入,开发环境数据初始化
  
**示例:**

##### 单条事务模式 - 完全ACID保证
```json
{
  "table_name": "users",
  "file_path": "/data/users.csv",
  "format": "csv",
  "has_headers": true,
  "field_mapping": {
    "姓名": "name",
    "邮箱": "email",
    "年龄": "age"
  },
  "batch_size": 500,
  "use_transaction": true,
  "validate_data": true,
  "skip_duplicates": false,
  "conflict_strategy": "error"
}
```
##### 批量事务模式 - 批次级别原子性
```json
{
  "table_name": "products",
  "file_path": "/data/products.json",
  "format": "json",
  "field_mapping": {
    "productName": "name",
    "productPrice": "price",
    "inventory": "stock"
  },
  "batch_size": 1000,
  "use_transaction": false,
  "with_progress": true,
  "validate_data": true
}
```

##### Excel格式智能导入
```json
{
  "table_name": "orders",
  "file_path": "/data/orders.xlsx",
  "format": "excel",
  "sheet_name": "Sheet1",
  "has_headers": true,
  "field_mapping": {
    "订单号": "order_id",
    "金额": "amount",
    "日期": "created_at"
  },
  "use_transaction": true,
  "with_recovery": true,
  "validate_data": true
}
```
##### 导入SQL文件 - 事务安全
```json
{
  "table_name": "backup_data",
  "file_path": "/data/backup.sql",
  "format": "sql",
  "use_transaction": true,  // SQL语句批量执行在一个事务中
  "with_recovery": true
}
```

#### `mysql_generate_report`
数据报表生成,支持执行多个查询并生成综合数据报表。    
集成了多工作表Excel文件生成、自定义报表格式、性能指标整合等高级功能。    
特别适用于业务分析、市场调研、运营监控、财务报告等场景。    
提供完整的报表生命周期管理,从数据查询到格式化输出的一站式服务。

主要特性:  
  - **多查询整合**:支持同时执行多个相关查询,自动整合结果  
  - **多格式支持**:Excel(多工作表)、CSV、JSON等格式*  
  - **性能监控**:内置查询性能统计和优化建议  
  - **智能布局**:自动优化报表结构和数据展示  
  - **企业级功能**:详细日志、错误恢复、操作审计  
  - **缓存优化**:查询结果智能缓存,提高重复报表生成效率

应用场景  
  - **业务综合报表**:销售数据、市场分析、用户行为等  
  - **财务分析报表**:收入支出、成本分析、预算执行等  
  - **运营监控报表**:系统状态、性能指标、错误统计等  
  - **管理决策报表**:KPI指标、趋势分析、预测数据等
  
**示例:**

```json
{
  "title": "月度销售报表",
  "queries": [
    {
      "name": "销售总览",
      "query": "SELECT SUM(amount) FROM sales WHERE month = ?",
      "params": ["2023-12"]
    }
  ],
  "includeHeaders": true,
  "fileName": "monthly_sales_report"
}
```

### 🛠️ 系统管理与监控 (8个工具)

#### `mysql_system_status`
全面系统诊断,提供全面的MySQL数据库服务器健康状况检查和性能监控。  
集成了连接状态诊断、导出操作监控、队列管理状态、系统资源监控等全方位监控能力。  
支持分层诊断(全面/连接/导出/队列/内存)和详细诊断信息展示。  
提供智能健康评估、性能指标分析、趋势预测和优化建议。

主要特性:  
- **分层诊断**:支持full(全面)、connection(连接)、export(导出)、queue(队列)、memory(内存)五种检查范围  
- **连接监控**:数据库连接池状态、连接测试、性能指标、配置信息  
- **导出监控**:活跃导出任务、队列状态、完成历史、性能统计  
- **队列监控**:任务队列状态、并发控制、失败任务分析、诊断信息  
- **内存监控**:系统内存使用、GC状态、内存泄漏检测、压力分析  
- **健康评估**:整体健康状态评估、问题识别、优化建议生成

诊断范围说明:  
- **full**: 全面诊断所有组件和系统状态  
- **connection**: 重点检查数据库连接和性能指标    
- **export**: 监控导出操作状态和队列情况  
- **queue**: 分析任务队列状态和并发控制  
- **memory**: 评估系统内存使用和GC状态

应用场景:  
- **日常运维监控**:定期检查系统健康状况  
- **故障排查**:快速定位系统瓶颈和问题  
- **性能调优**:分析性能指标,制定优化策略  
- **容量规划**:监控资源使用趋势,预测容量需求  
- **自动化监控**:集成到监控系统中,实现自动告警
  
**示例:**
##### 全面系统诊断(推荐日常使用)
```json
{
  "scope": "full",
  "includeDetails": true
}
```
##### 连接状态检查(数据库连接问题排查)
```json
{
  "scope": "connection",
  "includeDetails": false
}
```      
##### 导出操作监控(导出任务状态查看)
```json
{
  "scope": "export",
  "includeDetails": true
}
```
##### 队列状态分析(任务队列性能调优)
```json
{
  "scope": "queue",
  "includeDetails": true
}
```
##### 内存使用评估(内存泄漏检测)
```json
{
  "scope": "memory",
  "includeDetails": true
}
```
##### 快速健康检查(运维监控)
```json
{
  "scope": "full",
  "includeDetails": false
}
```
##### 详细系统分析(故障排查)
```json
{
  "scope": "full",
  "includeDetails": true
}
```
##### 性能监控集成(自动化监控)
```json
{
  "scope": "connection",
  "includeDetails": true
}
```

#### `mysql_analyze_error`
错误智能诊断,深度分析数据库错误并提供精准的恢复策略。  
集成了错误分类、上下文感知、自动诊断、恢复建议生成等全方位错误处理能力。  
支持语法错误、连接问题、权限错误、约束冲突等多种错误类型的智能识别和处理。

主要特性:  
- **智能错误分类**:自动识别错误类型(语法/连接/权限/约束/性能等)  
- **上下文感知分析**:根据操作上下文提供针对性诊断建议  
- **自动诊断引擎**:深度分析错误根因,提供多层次诊断信息  
- **恢复策略生成**:基于错误类型生成具体的修复步骤和预防措施  
- **安全增强**:错误信息脱敏处理,防止敏感信息泄露  
- **学习型系统**:持续学习常见错误模式,提高诊断准确性

诊断范围:  
- **语法错误**:SQL语法错误、关键字拼写错误、语句结构问题  
- **连接错误**:网络连接、认证失败、连接池问题、超时问题  
- **权限错误**:访问拒绝、权限不足、用户不存在  
- **约束错误**:主键冲突、外键约束、唯一性约束、数据类型不匹配  
- **性能错误**:查询超时、死锁、资源不足  
- **其他错误**:未知错误类型的一般性处理和建议

应用场景:  
- **开发调试**:快速定位SQL语法错误和逻辑问题  
- **生产运维**:快速诊断数据库连接和权限问题  
- **数据迁移**:识别和解决数据导入导出过程中的错误  
- **性能调优**:分析查询性能问题和超时错  
- **安全审计**:检测和分析安全相关的数据库错误  
  
**示例:**
##### 分析连接访问拒绝错误
 ```json 
{
  "error_message": "Access denied for user 'root'@'localhost' (using password: YES)",
  "operation": "connection"
}
```
##### 分析SQL语法错误
 ```json
{
  "error_message": "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELEC * FROM users' at line 1",
  "operation": "query"
}
```
##### 分析外键约束冲突
 ```json
{
  "error_message": "Cannot delete or update a parent row: a foreign key constraint fails (`shop`.`orders`, CONSTRAINT `fk_orders_customer` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`))",
  "operation": "dml"
}
```
##### 分析表不存在错误
 ```json
{
  "error_message": "Table 'database.users' doesn't exist",
  "operation": "query"
}
```
##### 分析重复键错误
 ```json
{
  "error_message": "Duplicate entry 'john@example.com' for key 'email'",
  "operation": "dml"
}
```
##### 分析权限不足错误
 ```json
{
  "error_message": "SELECT command denied to user 'readonly'@'localhost' for table 'sensitive_data'",
  "operation": "security"
}
```
##### 分析查询超时错误
 ```json
{
  "error_message": "Query execution was interrupted, maximum statement execution time exceeded",
  "operation": "query"
}
```
##### 分析死锁错误
 ```json
{
  "error_message": "Lock wait timeout exceeded; try restarting transaction",
  "operation": "dml"
}
```
##### 分析数据类型不匹配错误
 ```json
{
  "error_message": "Incorrect integer value: 'abc' for column 'user_id' at row 1",
  "operation": "dml"
}
```

#### `mysql_security_audit`
数据库安全审计,执行全面的安全性评估和合规性检查。  
集成了配置安全分析、用户权限审计、数据保护评估、安全威胁检测等全方位安全诊断能力。  
支持多种安全标准合规检查,帮助企业识别安全风险并制定安全加固策略。

主要特性:  
- **配置安全审计**:检查数据库配置的安全性设置和最佳实践。  
- **用户权限审计**:分析用户角色、权限分配和最小权限原则执行情况  
- **数据保护评估**:评估敏感数据保护措施和加密机制  
- **安全威胁检测**:识别潜在的安全漏洞和攻击向量  
- **合规性检查**:支持SOX、GDPR、PCI-DSS等标准的安全合规评估  
- **风险评分系统**:提供安全风险量化评分和优先级排序  
- **修复建议生成**:基于审计结果提供具体的修复步骤和安全加固建议

审计范围:  
- **数据库配置安全**:连接限制、超时设置、安全协议、日志配置    
- **用户账户安全**:密码策略、账户锁定、过期策略、权限最小化  
- **访问控制安全**:角色定义、权限分配、审计日志、访问模式  
- **数据保护安全**:加密机制、敏感数据识别、数据脱敏、备份安全  
- **网络安全**:连接安全、防火墙配置、入侵检测  
- **合规性评估**:行业标准符合性、多框架对比分析

应用场景:  
- **安全基线评估**:定期进行安全状况评估,建立安全基线  
- **合规性审计**:满足监管要求,进行合规性检查和报告  
- **安全事件响应**:安全事件发生后进行全面安全评估  
- **第三方审计**:为外部审计师提供详细的安全报告  
- **安全优化**:识别安全薄弱环节,制定改进措施  
- **渗透测试后评估**:评估渗透测试发现的安全问题  
  
**示例:**
```json
{}
```

#### `mysql_progress_tracker`
异步操作进度跟踪,统一管理和监控所有后台任务的执行状态。  
集成了实时进度更新、操作取消、详细状态查询、多操作类型支持等全方位进度管理能力。  
支持备份、导出等长期运行操作的进度可视化和控制,增强用户体验和操作透明度。

主要特性:  
- **统一进度管理**:集中管理所有异步操作的进度状态  
- **实时进度更新**:提供实时的执行进度和状态信息  
- **操作取消支持**:支持取消正在进行的操作(需要操作支持)  
- **详细状态查询**:提供操作的详细信息、时间戳、持续时间等  
- **多操作类型**:支持备份、导出等多种操作类型的进度跟踪  
- **性能指标**:提供操作的性能统计和时间估算  
- **批量操作**:支持同时查看多个操作的进度状态

支持的操作类型:  
- **backup**:数据库备份操作进度跟踪  
- **export**:数据导出操作进度跟踪  
- **all**:所有操作类型的进度跟踪(默认)

应用场景:  
- **备份监控**:实时监控数据库备份进度,及时发现问题  
- **导出跟踪**:跟踪大数据量导出操作的执行状态  
- **批量操作管理**:管理多个并发操作的进度和状态  
- **运维监控**:为运维人员提供操作进度可视化  
- **用户体验**:为用户提供操作进度的实时反馈  
- **问题诊断**:通过进度信息快速定位操作问题  
  
**示例:**
##### 列出所有活跃操作的基本进度信息
```json
{
  "action": "list"
}
```
##### 查看备份操作的进度(详细信息)
```json
{
  "action": "list",
  "operationType": "backup",
  "detailLevel": "detailed"
}
```
##### 获取特定操作的详细信息
```json
{
  "action": "get",
  "trackerId": "backup_123456"
}
```
##### 取消正在进行的导出操作
```json
{
  "action": "cancel",
  "trackerId": "export_789012"
}
```
##### 获取所有操作的进度汇总统计
```json
{
  "action": "summary"
}
```
##### 查看包含已完成操作的详细列表
```json
{
  "action": "list",
  "includeCompleted": true,
  "detailLevel": "detailed"
}
```
##### 监控特定类型的操作进度
```json
{
  "action": "list",
  "operationType": "export",
  "detailLevel": "detailed"
}
```
##### 运维监控场景:定期检查系统状态
```json
{
  "action": "summary"
}
```
##### 问题诊断:查看长时间运行的操作
```json
{
  "action": "list",
  "detailLevel": "detailed"
}
```

#### `mysql_optimize_memory`
内存管理,整合系统级内存优化、备份任务内存管理、垃圾回收控制和详细的内存分析功能。  
提供全面的内存压力监测、智能垃圾回收、内存泄漏检测和性能优化建议。

主要特性:  
- **系统级内存监控**:实时监测堆内存、RSS、外部内存使用情况  
- **智能垃圾回收**:支持强制GC执行,内存优化和效率分析  
- **内存压力管理**:自动检测内存压力水平,提供优化建议  
- **备份操作优化**:专门优化备份任务的内存使用和管理  
- **内存泄漏检测**:持续监控内存使用趋势,识别潜在泄漏  
- **并发控制优化**:动态调整任务并发数,平衡性能和内存使用  
- **详细性能报告**:提供内存使用历史、趋势分析和优化建议

支持的操作类型:  
- **status**:查看当前内存状态和系统健康状况  
- **cleanup**:执行基础内存清理,释放已完成任务的资源  
- **optimize**:执行全面内存优化,包括GC和缓存清理  
- **configure**:配置内存监控和并发控制参数  
- **report**:生成详细的内存分析报告  
- **gc**:专门执行垃圾回收操作

应用场景:  
- **内存压力监控**:实时监控系统内存使用,预防内存不足  
- **性能优化**:定期执行内存清理,提高系统响应速度  
- **故障排查**:分析内存泄漏,定位性能瓶颈  
- **资源管理**:优化备份和导出操作的内存使用  
- **系统维护**:定期内存优化,保持系统健康状态  
- **容量规划**:基于内存使用趋势制定扩容计划  
  
**示例:**
###### 查看当前内存状态
```json
{
 "action": "status"
}
```
###### 执行基础内存清理
```json
{
 "action": "cleanup"
}
```
###### 执行全面内存优化(包括强制GC)
```json
{
 "action": "optimize",
 "forceGC": true
}
```
###### 配置内存监控参数
```json
{
 "action": "configure",
 "enableMonitoring": true,
"maxConcurrency": 3
}
```
###### 生成详细内存分析报告
```json
{
 "action": "report",
 "includeHistory": true
}
```
###### 执行专门的垃圾回收
```json
{
 "action": "gc"
}
```
###### 快速内存优化(不强制GC)
```json
{
 "action": "optimize",
 "forceGC": false
}
```
###### 内存压力监控场景
```json
{
 "action": "status"
}
```
###### 定期维护任务
```json
{
 "action": "cleanup"
}
```
###### 故障排查支持
```json
{
 "action": "report",
 "includeHistory": true
}
```

#### `mysql_manage_queue`
任务队列管理,统一管理和监控所有异步操作(备份、导出、数据迁移等)的执行队列。  
提供全面的队列控制能力,包括任务状态监控、并发控制、队列调度、任务取消和系统诊断。  
集成了优先级调度、错误恢复、性能监控等高级特性,支持大规模并发任务处理。

主要特性:  
- **统一队列管理**:集中管理所有类型的异步任务队列  
- **实时状态监控**:提供队列状态、任务进度、性能指标的实时监控  
- **并发控制优化**:动态调整任务并发数,平衡系统负载  
- **任务生命周期管理**:完整的任务创建、执行、完成、取消生命周期  
- **优先级调度**:支持任务优先级调度,确保重要任务优先执行  
- **错误恢复机制**:自动处理失败任务的重试和错误恢复  
- **详细诊断功能**:提供队列健康状态分析和性能诊断  
- **灵活过滤查询**:支持按任务类型、状态等维度过滤和查询

支持的操作类型:  
- **status**:查看队列状态和任务列表,支持详细信息展示和类型过滤  
- **pause**:暂停队列,停止新任务执行,已运行任务继续完成  
- **resume**:恢复队列,继续执行排队任务  
- **clear**:清空队列,取消所有排队中的任务  
- **set_concurrency**:设置最大并发任务数,控制系统负载  
- **cancel**:取消指定的单个任务  
- **diagnostics**:执行队列诊断,提供健康状态和优化建议  
- **get_task**:获取单个任务的详细信息,包括执行时间和状态历史

应用场景:  
- **生产环境监控**:实时监控任务队列状态,确保系统稳定运行  
- **负载均衡控制**:动态调整并发数,应对不同的负载情况  
- **任务调度管理**:管理备份、导出等批量任务的执行顺序  
- **故障排查诊断**:快速定位队列问题和性能瓶颈  
- **运维自动化**:集成到运维脚本中进行自动化的队列管理  
- **资源优化**:根据系统资源情况调整任务执行策略  

**示例:**
##### 查看队列状态概览
```json
{
  "action": "status",
  "showDetails": true
}
```
##### 查看详细的队列状态(包含所有任务信息)
```json
{
  "action": "status",
  "showDetails": true
}
```
##### 查看特定类型的任务(仅备份任务)
```json
{
  "action": "status",
  "filterType": "backup",
  "showDetails": true
}
```
##### 暂停队列处理
```json
{
  "action": "pause"
}
```
##### 恢复队列处理
```json
{
  "action": "resume"
}
```
##### 清空队列中的所有任务
```json
{
  "action": "clear"
}
```
##### 设置最大并发任务数为5
```json
{
  "action": "set_concurrency",
  "maxConcurrency": 5
}
```
##### 取消指定的任务
```json
{
  "action": "cancel",
  "taskId": "backup_123456"
}
```
##### 执行队列诊断
```json
{
  "action": "diagnostics"
}
```
##### 获取单个任务的详细信息
```json
{
  "action": "get_task",
  "taskId": "export_789012"
}
```
##### 生产环境监控场景
```json
{
  "action": "status",
  "showDetails": true
}
```
##### 紧急情况下的队列控制
```json
{
  "action": "pause"
}
```
##### 然后清空队列
```json
{
  "action": "clear"
}
```
##### 负载优化调整
```json
{
  "action": "set_concurrency",
  "maxConcurrency": 3
}
```
##### 故障排查支持
```json
{
  "action": "diagnostics"
}
```

#### `mysql_manage_indexes`
索引管理工具,提供企业级MySQL索引管理解决方案,提供完整的索引生命周期管理功能。
集成了索引创建、删除、优化分析等全方位索引管理能力。
支持多种索引类型,包括普通索引、唯一索引、主键索引、全文索引、空间索引。
适用于数据库管理员进行索引优化、性能调优等场景。

**操作类型:**
- **create**: 创建新索引
- **drop**: 删除索引
- **analyze**: 分析索引使用情况
- **optimize**: 优化索引结构
- **list**: 列出索引信息

**示例:**
```json
// 创建普通索引
{
  "action": "create",
  "table_name": "users",
  "index_name": "idx_users_email",
  "columns": ["email"]
}

// 创建复合索引
{
  "action": "create",
  "table_name": "orders",
  "index_name": "idx_orders_user_date",
  "columns": ["user_id", "created_at"]
  }

// 创建唯一索引
{
  "action": "create",
  "table_name": "products",
  "index_name": "idx_products_sku",
  "index_type": "UNIQUE",
  "columns": ["sku"]
}

// 删除索引
{
  "action": "drop",
  "table_name": "users",
  "index_name": "idx_users_email",
  "if_exists": true
}

// 分析索引使用情况
{
  "action": "analyze",
  "table_name": "users"
}

// 优化索引结构
{
  "action": "optimize",
  "table_name": "users"
}

// 列出表的所有索引
{
  "action": "list",
  "table_name": "users"
}

// 列出数据库中所有表的索引
{
  "action": "list"
}
```

#### `mysql_manage_users`
用户管理工具,提供企业级MySQL用户管理解决方案,提供完整的用户生命周期管理功能。
集成了用户创建、删除、权限授予和撤销等全方位用户管理能力。
支持安全密码验证、权限精细控制、用户审计追踪等企业级特性。
适用于数据库管理员进行用户权限管理、安全合规等场景。

**操作类型:**
- **create**: 创建新用户
- **delete**: 删除用户
- **grant**: 授予用户权限
- **revoke**: 撤销用户权限
- **list**: 列出所有用户
- **show_grants**: 显示用户权限

**示例:**
```json
// 创建新用户
{
  "action": "create",
  "username": "newuser",
  "password": "secure_password",
  "host": "localhost"
}
 
// 删除用户
{
  "action": "delete",
  "username": "olduser",
  "if_exists": true
}

// 授予权限
{
  "action": "grant",
  "username": "appuser",
  "privileges": ["SELECT", "INSERT", "UPDATE"],
  "database": "myapp",
  "table": "users"
}
 
// 撤销权限
{
  "action": "revoke",
  "username": "appuser",
  "privileges": ["DELETE"],
  "database": "myapp"
}
 
// 列出所有用户
{
  "action": "list"
}

// 显示用户权限
{
  "action": "show_grants",
  "username": "appuser"
}
```

#### `mysql_replication_status`
复制状态工具,提供企业级MySQL主从复制监控解决方案,提供全面的复制状态监控、延迟检测、错误诊断和配置查看功能。
支持主从架构的健康监控和故障排查,适用于生产环境的复制拓扑管理。

**操作类型:**
- **status**: 查看复制状态概览
- **delay**: 检测复制延迟
- **diagnose**: 诊断复制错误
- **config**: 查看复制配置

**示例:**
```json
// 查看复制状态概览
{
  "action": "status"
}

// 检测复制延迟
{
  "action": "delay"
}
```

## 使用示例

### 📝 基础查询操作
```bash
# 连接到 Claude Desktop 并使用以下示例:

# 查询用户数据
{
  "query": "SELECT id, name, email, created_at FROM users WHERE status = 'active' ORDER BY created_at DESC LIMIT 10",
  "params": []
}

# 获取表结构
{
  "table_name": "orders"
}

# 带参数的复杂连接查询
{
  "query": "SELECT u.name, COUNT(o.id) as order_count, SUM(o.total) as total_spent FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at > ? GROUP BY u.id HAVING order_count > 0 ORDER BY total_spent DESC",
  "params": ["2023-01-01"]
}
```

### 🔄 CRUD操作
```bash
# 插入新用户
{
  "table_name": "users",
  "data": {
    "name": "Alice Johnson",
    "email": "alice@example.com",
    "status": "active"
  }
}

# 更新用户状态
{
  "table_name": "users",
  "data": {
    "status": "inactive"
  },
  "where_clause": "email = 'john@example.com'"
}

# 删除用户
{
  "table_name": "users",
  "where_clause": "id = 123"
}
```

### 🔄 批量操作
```bash
# 批量事务示例
{
  "queries": [
    {"sql": "INSERT INTO users (name, email) VALUES (?, ?)", "params": ["Alice Johnson", "alice@example.com"]},
    {"sql": "INSERT INTO profiles (user_id, bio) VALUES (LAST_INSERT_ID(), ?)", "params": ["Software Engineer"]},
    {"sql": "UPDATE user_stats SET total_users = total_users + 1"}
  ]
}

# 批量插入示例
{
  "table_name": "products",
  "data": [
    {"name": "Laptop Pro", "price": 1299.99, "category": "Electronics", "stock": 50},
    {"name": "Wireless Mouse", "price": 29.99, "category": "Electronics", "stock": 200},
    {"name": "Office Chair", "price": 199.99, "category": "Furniture", "stock": 25}
  ]
}
```

### 🛡️ 系统健康监控
```bash
# 获取全面的系统状态
{
  "scope": "full",
  "includeDetails": true
}

# 内存优化和分析
{
  "action": "optimize",
  "forceGC": true,
  "includeHistory": true
}

# 队列管理
{
  "action": "status",
  "showDetails": true,
  "filterType": "all"
}

# 进度跟踪
{
  "action": "summary"
}

# 安全审计
{} # 无需参数
```

## 架构设计

### 🏗️ 核心组件架构
```
MySQLManager (中央引擎) - mysqlManager.ts
├── 配置管理层 - config.ts
│   ├── ConfigurationManager             # 中央配置管理
│   ├── DatabaseConfig                   # 数据库连接配置
│   ├── SecurityConfig                   # 安全配置管理
│   └── CacheConfig                      # 缓存配置管理
├── 数据访问层
│   ├── ConnectionPool                   # 增强连接池管理 - connection.ts
│   │   ├── preCreateConnections()       # 预创建连接
│   │   ├── performHealthCheck()         # 健康检查
│   │   └── adjustPoolSize()             # 动态调整池大小
│   └── SmartCache                       # 三级LRU缓存系统 - cache.ts
│       ├── SchemaCache                  # 表结构缓存 (128条目)
│       ├── TableExistsCache             # 表存在性缓存 (64条目)
│       └── IndexCache                   # 索引信息缓存 (64条目)
├── 安全防护层
│   ├── SecurityValidator                # 安全验证器 - security.ts
│   │   ├── validateInputComprehensive() # 全面输入验证
│   │   └── analyzeSecurityThreats()     # 威胁分析
│   ├── RBACManager                      # 权限管理 - rbac.ts
│   │   ├── checkPermission()            # 权限检查
│   │   └── assignRoleToUser()           # 角色分配
│   ├── AdaptiveRateLimiter              # 自适应速率限制 - rateLimit.ts
│   │   └── checkRateLimit()             # 令牌桶算法限流
│   └── SecurityAuditor                  # 安全审计员 - security.ts
├── 监控分析层
│   ├── PerformanceManager               # 性能管理器 - performanceManager.ts
│   │   ├── SlowQueryAnalysis            # 慢查询分析
│   │   ├── IndexOptimization            # 索引优化建议
│   │   └── QueryProfiling               # 查询性能剖析
│   ├── MetricsManager                   # 指标管理器 - metrics.ts
│   │   ├── TimeSeriesMetrics            # 时间序列指标
│   │   ├── PerformanceMetrics           # 性能指标
│   │   └── recordQueryTime()            # 查询时间记录
│   ├── MemoryMonitor                    # 内存监控 - monitor.ts
│   │   ├── getMemoryStats()             # 内存使用统计
│   │   └── optimizeMemory()             # 内存优化
│   ├── SystemMonitor                    # 系统监控 - monitor.ts
│   │   ├── collectSystemResources()     # 系统资源收集
│   │   └── checkAlerts()                # 告警检查
│   ├── ErrorHandler                     # 错误处理器 - errorHandler.ts
│   │   ├── safeError()                  # 安全错误处理
│   │   └── analyzeError()               # 错误分析
│   └── SmartRetryStrategy               # 智能重试策略 - retryStrategy.ts
├── 备份管理层
│   ├── MySQLBackupTool                  # 备份工具 - mysqlBackupTool.ts
│   │   ├── createBackup()               # 多模式备份
│   │   └── createIncrementalBackup()    # 增量备份
│   ├── MySQLImportTool                  # 导入工具 - mysqlImportTool.ts
│   │   ├── importData()                 # 多格式导入
│   │   └── validateImport()             # 导入验证
│   └── DataExporter                     # 数据导出器 - mysqlBackupTool.ts
├── 系统管理工具 (index.ts中的工具)
│   ├── mysql_system_status              # 系统状态检查
│   ├── mysql_analyze_error              # 错误智能分析
│   ├── mysql_security_audit             # 安全审计
│   ├── mysql_manage_indexes             # 索引管理
│   ├── mysql_manage_users               # 用户管理
│   ├── mysql_replication_status         # 复制状态监控
│   ├── mysql_progress_tracker           # 进度跟踪器
│   └── mysql_optimize_memory            # 内存优化
└── 日志与工具层
    ├── StructuredLogger                 # 结构化日志器
    ├── Constants                        # 常量定义 - constants.ts
    ├── Types                            # 类型定义 - types.ts
    ├── CommonUtils                      # 通用工具 - utils/common.ts
    └── CacheInvalidator                 # 缓存失效器 - utils/cacheInvalidator.ts
```

### MySQLManager - 中央引擎
位于 `src/mysqlManager.ts` 的 `MySQLManager` 类是核心协调器,集成所有企业级数据库功能:

**核心功能集成:**
- **连接池管理**: 增强型连接池 (`ConnectionPool`),支持自动重连和健康检查
- **智能缓存**: 三级LRU缓存系统 (`SmartCache`),O(1)复杂度,支持TTL和自动失效
- **安全验证**: 多层输入验证和SQL注入检测 (`SecurityValidator`)
- **权限控制**: RBAC权限管理 (`RBACManager`),细粒度权限验证
- **性能监控**: 双层指标收集 (`MetricsManager`),实时性能统计
- **错误处理**: 智能错误分类和恢复建议 (`ErrorHandler`)
- **重试机制**: 自适应重试策略 (`SmartRetryStrategy`),指数退避算法

**高级功能:**
- **内存优化**: 压力感知的内存管理,自动垃圾回收
- **批处理支持**: 事务安全的批量操作,支持并行处理
- **审计日志**: 完整的操作审计和安全事件记录

### 🔄 数据流优化
1. **请求接收**: MCP服务器 (`index.ts`) 接收工具调用请求
2. **权限验证**: 通过RBAC系统检查用户权限
3. **安全检查**: 多层安全验证,包括SQL注入检测和输入清洗
4. **缓存查询**: 三级缓存系统 (Schema/TableExists/Index) 快速获取数据
5. **数据库操作**: 智能重试策略执行异步查询,支持事务安全
6. **性能监控**: 实时收集查询指标,监控系统资源使用
7. **结果处理**: 高级内存管理和流式结果处理
8. **安全响应**: 敏感数据脱敏和安全响应生成
9. **日志记录**: 结构化日志记录和审计追踪
10. **资源清理**: 自动释放连接,回池管理

**性能指标收集点:**
- 查询响应时间统计
- 缓存命中率监控
- 连接池使用情况
- 内存压力监控
- 错误分类统计

## 性能监控

### 🎯 关键性能指标 (KPIs)
通过 `mysql_system_status`、`mysql_optimize_memory` 和其他专业工具进行全面性能监控。

- **查询性能**: 平均查询时间、总查询数、慢查询数和智能错误分类
- **缓存效率**: 多层缓存统计(schema、tableExists、index),支持命中率和智能失效
- **连接池状态**: 健康监控,支持超时保护和连接生命周期跟踪
- **系统资源**: 实时CPU、内存和事件循环延迟监控
- **内存分析**: 内存使用趋势、泄漏检测和垃圾回收统计
- **错误分类**: 智能分类,附带恢复建议和诊断报告

### 高级监控功能
- 线性插值用于准确的百分位数计算(P95、P99)
- 增强的连接池监控,支持等待时间跟踪和健康检查
- 慢查询检测,阈值可配置(默认1秒)
- 缓存效率指标(目标>80%命中率),支持智能失效和内存压力自适应
- 错误率,支持智能分类和上下文恢复建议
- 系统资源使用情况监控(CPU、内存、事件循环延迟、磁盘I/O)
- 内存压力检测使用线性回归,支持自动垃圾回收触发
- 内存泄漏模式检测,支持趋势分析和自动警报
- 时间序列数据保留,窗口大小可配置,支持数据老化
- 实时警报系统,支持结构化回调和通知渠道
- 性能回归检测,支持历史比较和异常检测

### 📈 性能指标示例 (JSON输出)
```json
{
  "performance_metrics": {
    "performance": {
      "queryCount": 50,
      "totalQueryTime": 2.5,
      "errorCount": 1,
      "slowQueryCount": 3,
      "avg_query_time": 0.05,
      "cache_hit_rate": 0.8
    },
    "cache_stats": {
      "schema_cache": {
        "size": 10,
        "max_size": 100,
        "hit_count": 40,
        "miss_count": 10,
        "hit_rate": 0.8,
        "ttl": 300
      }
    }
  },
  "connection_pool_status": {
    "status": "Healthy",
    "totalConnections": 10,
    "idleConnections": 8,
    "waitingConnections": 0
  }
}
```

## 缓存策略

### 🧠 高级多层缓存架构

系统实现了企业级、多层级的智能缓存系统,集成了先进的内存管理和性能优化功能:

#### 1. 分层缓存架构 (L1/L2)
`SmartCache` 类实现了复杂的分层缓存架构,优化性能和内存利用率:

**L1 缓存 (热数据 - 基于Map):**
- **用途**: 存储频繁访问的数据,提供O(1)访问时间
- **实现**: 高性能Map数据结构,支持自动LRU驱逐算法
- **大小**: 可配置(默认:总缓存大小的80%)
- **TTL支持**: 每个条目独立TTL,支持自动过期
- **性能**: 亚毫秒级访问时间,适用于高频访问数据

**L2 缓存 (温数据 - 基于Object):**
- **用途**: 存储次频繁访问的数据作为二级缓存
- **实现**: Object基础存储,支持可配置的驱逐策略
- **大小**: 可配置(默认:总缓存大小的20%)
- **提升机制**: 基于访问模式自动从L2提升到L1
- **持久化**: 支持更长的TTL值,提高缓存利用率

#### 2. 高级缓存特性

**动态TTL调整:**
- **访问模式分析**: 监控访问频率和模式
- **自动TTL扩展**: 自动延长频繁访问条目的TTL
- **可配置参数**: 可调节的灵敏度和扩展系数
- **性能影响**: 减少热门数据的缓存未命中率

**WeakMap内存保护:**
- **内存泄漏防护**: 使用WeakMap实现对象引用管理
- **自动垃圾回收**: 对象不再被引用时自动清理
- **引用管理**: 支持WeakRef的高级内存管理
- **零内存开销**: 缓存元数据不产生额外内存成本

**智能预取系统:**
- **模式识别**: 分析访问模式预测未来需求
- **主动加载**: 在请求前预加载相关数据
- **可配置阈值**: 可调节的预取触发条件和限制
- **性能提升**: 减少可预测访问模式的延迟

#### 3. 缓存预热系统
- **启动预加载**: 系统启动时自动加载频繁访问的数据
- **进度跟踪**: 实时进度监控,支持完成时间估算
- **错误处理**: 完善的错误处理和回退策略
- **性能指标**: 详细的预热性能统计数据

### 🏗️ 内存压力感知缓存管理

系统与集中的`MemoryPressureManager`深度集成,实现智能缓存大小调整:

#### 自动缓存调整
```typescript
// 配置L2缓存
configureL2Cache(
  enabled: boolean,
  config?: {
    l1Size: number;    // L1缓存大小
    l1TTL: number;     // L1缓存TTL
    l2Size: number;    // L2缓存大小
    l2TTL: number;     // L2缓存TTL
  }
): void

// 基于内存压力调整缓存大小
adjustForMemoryPressure(pressureLevel: number): void {
  const scaleFactor = Math.max(0.1, 1 - pressureLevel);
  this.dynamic_max_size = Math.max(1, Math.floor(this.max_size * scaleFactor));

  while (this.cache.size > this.dynamic_max_size) {
    this.evictLRU();
  }
}
```

#### 智能驱逐策略
- **优先级驱逐**: LRU结合访问频率评分算法
- **分层清理**: L1和L2缓存采用不同的驱逐策略
- **内存压力响应**: 高压力下的主动驱逐机制
- **热数据保护**: 频繁访问数据在清理时得到保护

### 📊 高级缓存性能监控

全面的缓存性能分析通过增强的监控系统实现:

```json
{
  "cache_performance": {
    "global_hit_rate": 0.923,
    "tier_efficiency": {
      "l1_hit_rate": 0.945,
      "l2_hit_rate": 0.678,
      "promotion_rate": 0.234
    },
    "memory_usage": {
      "l1_size": "8.2 MB",
      "l2_size": "4.1 MB",
      "total_memory": "12.3 MB",
      "compression_ratio": 0.85
    },
    "advanced_metrics": {
      "prefetch_accuracy": 0.789,
      "ttl_adjustment_rate": 0.156,
      "weakmap_protection": 0.923,
      "eviction_efficiency": 0.867
    }
  },
  "region_stats": {
    "SCHEMA": {
      "entries_count": 45,
      "max_entries": 128,
      "hit_rate": 0.956,
      "memory_usage": "2.3 MB",
      "avg_access_time": "0.03ms",
      "prefetch_count": 23,
      "ttl_extensions": 156
    },
    "TABLE_EXISTS": {
      "entries_count": 78,
      "max_entries": 64,
      "hit_rate": 0.912,
      "avg_lookup_time": "0.05ms",
      "weakmap_protected": true
    },
    "INDEX": {
      "entries_count": 23,
      "max_entries": 64,
      "hit_rate": 0.885,
      "last_refresh": "2025-09-03T08:26:00Z",
      "warm_up_time": "45ms"
    }
  }
}
```

### ⚡ 企业级缓存优化特性

#### 缓存预热系统
- **智能预加载**: 基于历史访问模式的最优预加载策略
- **优先级加载**: 高价值数据优先加载,提供即时性能提升
- **后台处理**: 非阻塞预热操作,不影响系统启动时间
- **进度监控**: 实时进度跟踪,支持完成回调机制

#### 高级内存管理
- **WeakMap集成**: 自动内存泄漏防护,使用WeakMap/WeakRef
- **引用跟踪**: 智能引用计数机制实现缓存条目管理
- **自动清理**: 零配置内存管理,自动资源释放
- **内存压力响应**: 基于系统内存状态的动态调整

#### 性能优化
- **预取智能**: 机器学习驱动的预取预测算法
- **TTL自适应**: 基于访问模式的动态TTL调整
- **批量操作**: 针对高吞吐量场景的优化批量操作
- **压缩支持**: 内存受限环境的可选数据压缩功能

### 🔍 高级缓存管理工具

#### 缓存分析与优化
```typescript
// 获取详细缓存分析
const analysis = cache.getDetailedAnalysis();

// 分析访问模式
const patterns = cache.analyzeAccessPatterns();

// 获取优化建议
const recommendations = cache.getOptimizationRecommendations();

// 执行智能清理
const cleanupResult = cache.performIntelligentCleanup();
```

#### 内存压力集成
```typescript
// 订阅内存压力变化
memoryPressureManager.subscribe((pressure: number) => {
  cache.adjustForMemoryPressure(pressure);
});

// 获取缓存健康状态
const health = cache.getHealthStatus();
console.log(`缓存健康度: ${health.score}/100`);
```

### 🛠️ 缓存配置示例

#### 高性能配置
```bash
# 高性能环境的环境变量配置
SMART_CACHE_L1_SIZE=256
SMART_CACHE_L2_SIZE=128
CACHE_TTL_BASE=600
CACHE_TTL_MAX=3600
PREFETCH_ENABLED=true
PREFETCH_THRESHOLD=0.7
TTL_DYNAMIC_ADJUSTMENT=true
WEAKMAP_PROTECTION=true
```

#### 内存受限配置
```bash
# 内存受限环境的环境变量配置
SMART_CACHE_L1_SIZE=64
SMART_CACHE_L2_SIZE=32
CACHE_TTL_BASE=300
CACHE_COMPRESSION=true
COMPRESSION_LEVEL=6
AGGRESSIVE_EVICTION=true
WEAKMAP_PROTECTION=true
```

这个高级缓存架构提供企业级的性能、智能的内存管理和全面的监控能力,确保数据库操作的最佳效率。

## 安全特性

### 🔒 多层安全架构

#### 输入验证与清洗
- **空字节过滤**: 防止空字节注入攻击
- **长度验证**: 可配置的最大查询长度(默认:10000字符)
- **字符编码**: UTF-8验证和清洗
- **参数绑定**: 所有查询使用预处理语句
- **可配置安全级别**: 三级验证(STRICT/MODERATE/BASIC)

#### 🛡️ 高级SQL注入检测(20+模式)
系统实现了全面的SQL注入检测,包含20多种具体的模式,支持实时威胁分析:

**危险操作检测(6种模式):**
- 文件系统访问尝试(LOAD_FILE、INTO OUTFILE、INTO DUMPFILE)
- 命令执行尝试(SYSTEM、EXEC、SHELL、xp_cmdshell)
- 信息泄露(UNION SELECT with INFORMATION_SCHEMA)
- 带破坏性操作的堆叠查询(DROP、DELETE、TRUNCATE、ALTER)
- 基于时间的攻击和DoS尝试(BENCHMARK、SLEEP、WAITFOR)
- 系统变量访问(@@version、@@datadir、@@basedir、@@tmpdir)

**SQL注入模式检测(15+种模式):**
- 基本的OR/AND注入(带引号和比较操作符)
- 联合查询注入(UNION SELECT变体)
- 认证绕过模式(' OR '1'='1、" OR "1"="1)
- 基于注释的规避(--、/* */、#)
- 时间延迟攻击(SLEEP、BENCHMARK、WAITFOR、pg_sleep、dbms_pipe.receive_message)
- 基于错误的注入(CAST、CONVERT、EXTRACTVALUE、UPDATEXML)
- 数学错误注入(EXP、POW与位运算)
- 堆叠查询注入(; SELECT、; INSERT等)
- 函数调用注入(CHAR、ASCII、ORD、HEX、UNHEX、CONCAT、GROUP_CONCAT)
- 系统信息收集(USER、VERSION、DATABASE、SCHEMA函数)
- 逻辑运算符绕过(||、&&、^^)
- 经典注入模式(带数字、字符串和NULL值)
- 增强的危险操作和注入尝试检测

#### 🎯 多级安全验证
- **严格模式**: 最高安全性,阻止所有可疑模式(推荐用于生产环境)
- **中等模式**: 平衡安全性与生产力(默认设置)
- **基础模式**: 用于开发环境的最小验证

#### 🚨 实时威胁分析
```json
{
  "security_analysis": {
    "threat_level": "LOW",
    "detected_patterns": [],
    "risk_score": 0.1,
    "recommendations": [
      "输入验证通过了所有安全检查"
    ],
    "blocked_attempts": 0,
    "validation_time": "0.8ms"
  }
}
```

#### 🔐 全面安全功能
- **速率限制**: 自适应令牌桶算法,支持系统负载感知(60秒窗口,默认100请求/分钟)
- **查询类型限制**: 基于白名单的查询类型过滤,支持可配置的允许类型
- **结果集限制**: 防止通过大结果集进行数据泄露(默认1000行)
- **凭据保护**: 日志和诊断中自动脱敏
- **审计追踪**: 安全事件的全面记录,支持脱敏输出
- **连接安全**: 支持SSL/TLS和证书验证
- **查询超时保护**: 可配置的查询执行超时,防止资源耗尽
- **危险操作检测**: 增强的DROP、DELETE、UPDATE操作检测(无WHERE子句)
- **模式检测**: 实时威胁检测,支持风险评估和恢复建议

## 内存管理

### 🧠 企业级内存管理系统
系统实现了全面的内存管理解决方案,集成了多种内存优化技术和智能监控功能,支持自动检测和优化内存使用模式:

#### 内存监控核心功能
- **实时多维度监控**: 全面跟踪RSS、堆内存、外部内存使用情况,提供高精度实时监控
- **智能泄漏检测**: 采用线性回归算法的先进趋势分析,自动识别内存泄漏模式和异常增长趋势
- **动态压力评估**: 基于0-1范围的智能压力级别计算,支持多阈值优化触发机制
- **垃圾回收统计**: 详细跟踪GC事件统计、内存释放量和时间戳,支持性能分析
- **历史数据存储**: 可配置的历史内存数据保留,支持趋势分析和预测
- **自动泄漏怀疑识别**: 基于机器学习算法的实时内存泄漏检测,提供智能告警
- **综合指标体系**: 集成的多指标监控面板,覆盖所有关键内存参数

#### 内存优化工具集
- **mysql_optimize_memory工具**: 企业级内存优化集成,支持状态查看、清理优化、配置管理和详细报告
- **智能垃圾回收**: 支持强制GC执行,结合内存压力感知的自动触发机制
- **压力自适应调整**: 基于使用模式的动态内存调整算法,优化缓存和资源分配
- **内存清理策略**: 全面的内存清理机制,包括缓存清理、连接释放和资源回收
- **性能影响评估**: 前后对比分析,提供内存优化效果的详细统计报告

#### 内存安全防护机制
- **高内存压力告警**: 支持结构化告警回调的多级内存压力检测系统
- **自动优化防护**: 内存压力下的自动防护机制,防止内存溢出和系统崩溃
- **异常检测反馈**: 实时内存异常检测,实现快速定位和修复
- **历史趋势分析**: 基于历史数据的内存使用趋势预测和优化建议

#### 内存管理架构特性
- **无缝系统集成**: 与系统诊断和性能监控深度集成,提供统一监控界面
- **释放嫌疑检测**: 基于统计分析的内存释放模式检测和优化建议
- **缓存协同优化**: 与三级缓存系统协同工作,实现内存使用最优化
- **连接池内存管理**: 智能连接池内存管理,防止连接对象内存泄漏
- **垃圾回收调度**: 基于系统负载的智能GC调度算法,平衡性能和内存使用

### 📊 内存分析示例
```json
{
  "memory_analysis": {
    "current_stats": {
      "heap_used": "45.2 MB",
      "heap_total": "64.0 MB",
      "rss": "85.7 MB",
      "external": "2.1 MB",
      "peak_heap": "52.1 MB",
      "average_heap": "42.8 MB",
      "trend": "stable"
    },
    "optimization": {
      "canOptimize": true,
      "potentialSavings": "3.2 MB",
      "lastOptimization": 1623456789000,
      "recommendedAction": "内存使用稳定,无需立即操作"
    },
    "gc_stats": {
      "triggered": 5,
      "last_gc": "2023-06-15T10:30:45.123Z",
      "total_freed": "12.5 MB",
      "last_gc_freed": "2.3 MB"
    },
    "pressure_level": 0.42,
    "leak_suspicions": 0,
    "historical_data_points": 100
  }
}
```

## 故障排除

### 🔧 常见问题解决

1.  **数据库连接失败**: `Error: connect ECONNREFUSED`
    - **解决方案**: 确认MySQL服务正在运行;检查 `.env` 文件中的 `MYSQL_HOST` 和 `MYSQL_PORT` 是否正确;检查防火墙设置。
    - **补充**: 确保MySQL接受来自您的主机的连接;验证 `.env` 文件中的凭据;检查MySQL错误日志获取详细信息。

2.  **缓存命中率低**:
    - **症状**: `mysql_system_status` 显示缓存 `hit_rate` 低于 60%。
    - **解决方案**: 适当增大 `SCHEMA_CACHE_SIZE` 等缓存相关环境变量的值;延长 `CACHE_TTL` 的时间。
    - **补充**: 使用 `mysql_system_status` 分析查询模式;考虑为频繁访问的表实现缓存预热策略。

3.  **连接池耗尽**: `Error: Pool is closed.` 或 `Error: Timeout acquiring connection`
    - **症状**: 应用在高并发下无响应或报错。
    - **解决方案**: 增大 `MYSQL_CONNECTION_LIMIT` 的值;检查代码中是否有未释放的连接(本项目已处理好)。
    - **补充**: 使用 `mysql_system_status` 监控连接池统计信息;检查查询超时设置;考虑为高频操作实现请求批处理。

4.  **频率限制触发**: `Error: Rate limit exceeded`
    - **解决方案**: 优化客户端调用逻辑,降低请求频率;适当增大 `RATE_LIMIT_MAX` 或 `RATE_LIMIT_WINDOW`。
    - **补充**: 在客户端应用程序中实现指数退避;使用批处理操作减少请求数量;考虑升级到更高性能的层级。

5.  **高内存使用**:
    - **症状**: Node.js进程消耗过多内存
    - **解决方案**: 使用 `mysql_optimize_memory` 工具触发垃圾回收;减少缓存大小;使用 `mysql_system_status` 监控内存趋势。
    - **补充**: 使用 `NODE_OPTIONS="--expose-gc"` 启用自动垃圾回收;检查缓存配置参数;实现内存压力监控。

6.  **慢查询性能**:
    - **症状**: 查询耗时超过预期,`mysql_system_status` 显示高平均查询时间。
    - **解决方案**: 使用 `mysql_system_status` 分析慢查询;为表添加适当的索引;优化查询结构。
    - **补充**: 检查MySQL慢查询日志;考虑查询结果缓存;为大数据集实现分页。

7.  **安全验证失败**:
    - **症状**: `Error: Query validation failed` 或被阻止的查询
    - **解决方案**: 根据安全规则检查查询模式;如果合适,调整安全级别(STRICT/MODERATE/BASIC)。
    - **补充**: 检查查询长度限制;验证允许的查询类型;检查诊断中的注入模式检测结果。

8.  **SSL连接问题**:
    - **症状**: `Error: SSL connection failed` 或证书验证错误
    - **解决方案**: 验证 `.env` 文件中的SSL配置;确保SSL证书有效且配置正确。
    - **补充**: 检查MySQL SSL设置;验证证书路径和权限;考虑在开发环境中使用 `MYSQL_SSL=false`。

### 诊断工具
- 使用 `mysql_system_status` 进行全面的系统健康分析
- 使用 `mysql_optimize_memory` 进行内存分析和优化
- 使用 `mysql_analyze_error` 进行智能错误诊断
- 使用 `mysql_progress_tracker` 监控异步操作进度
- 使用 `mysql_manage_queue` 管理任务队列状态
- 使用 `npx tsc --noEmit` 监控 TypeScript 编译错误

## 性能调优

### ⚡ 配置模板

三个预定义的配置模板:

#### 企业环境 (高并发)
- 高并发(50个连接,512缓存大小)

#### 中等规模应用 (平衡)
- 平衡(20个连接,128缓存大小)

#### 资源受限环境 (低内存)
- 低内存占用(5个连接,32缓存大小)

请参阅 `.env.example` 获取包含所有可用选项的完整配置示例。

## 开发指南

### 🏗️ 架构原则
1. **性能优先**: 所有设计决策优先考虑性能影响。
2. **安全第一**: 多层安全验证,永不信任用户输入。
3. **可观测性**: 全面的监控和诊断能力。
4. **配置驱动**: 通过环境变量实现灵活配置。
5. **优雅降级**: 缓存或监控等非核心功能失败不影响核心数据库操作。

### � 贡献指南

#### 开发环境命令
```bash
# 安装所有依赖
npm install

# 复制环境模板并配置
cp .env.example .env

# 编译和运行服务器
npm run build
npm start

# 或者使用 ts-node 直接运行进行开发
npm run dev

# 代码格式化和检查
npm run lint
npm run lint:fix

# 类型检查
npx tsc --noEmit

# 测试
npm test
npm run test:unit
npm run test:integration
npm run test:watch
npm run test:coverage

# 可选的性能依赖
# 启用垃圾回收监控 (使用 --expose-gc 标志运行)
node --expose-gc dist/index.js

# 用于增强调试的开发模式
npm run dev -- --expose-gc

# 替代方案: 设置环境变量用于内存监控
export NODE_OPTIONS="--expose-gc"
```

### TypeScript 最佳实践
- 启用严格类型检查,包括 `noImplicitAny` 和 `strictNullChecks`
- 使用 Zod 模式进行 MCP 工具参数的运行时验证
- 利用联合类型和类型守卫进行健壮的错误处理
- 使用 TypeScript 的 Promise 类型实现适当的 async/await 模式
- 为缓存实现和数据库结果处理使用泛型类型

### 错误处理
- **MySQLErrorClassifier**: 智能错误分类,附带上下文恢复建议和预防措施
- **ErrorHandler**: 安全错误转换,敏感信息屏蔽和安全事件记录
- MySQL 错误按错误代码分类,基于错误类别和严重性的智能重试逻辑
- 安全事件记录,输出已清理(凭据屏蔽)和结构化审计追踪
- 全面的诊断报告,包含可能的原因、恢复策略和预防措施
- 使用自定义 MySQLMCPError 类和结构化接口的类型安全错误处理
- 自动错误恢复,支持可配置回退策略

### 资源管理
- 连接池自动管理 MySQL 连接
- 在整个过程中使用适当的 async/await 模式进行清理
- 通过信号处理程序实现优雅关闭
- 退出时缓存清理和内存管理

### 线程安全
- 使用 async/await 模式进行基于事件循环的并发,实现非阻塞操作
- 使用 UUID 进行会话基础的并发操作跟踪
- 利用 JavaScript 的单线程特性与异步处理的无锁设计
- 对共享资源(缓存、指标、限速器)的原子操作
- 使用 setInterval/setTimeout 独立运行后台监控任务
- 具有线程安全访问模式的连接池管理

#### 日志和调试
要启用调试日志,请设置 LOG_LEVEL 环境变量:
```bash
# 在 .env 文件或环境中设置
LOG_LEVEL=DEBUG
```

在开发过程中实时查看日志:
```bash
# 在一个终端中运行服务器
npm run dev

# 在另一个终端中,如果记录到文件
# (注意: TypeScript 版本可能默认不记录到文件)
```

#### 贡献流程
- 遵循当前代码风格。
- 为新功能添加对应的单元测试或集成测试。
- 如果添加或修改了工具、配置,请更新本文档。
- 确保所有测试和代码检查通过后再提交拉取请求。

## 许可证

本项目采用 MIT 许可证。
</content>
</function>