Mysql Server 5ac

Mysql Server 5ac

🚀 MySQL 模板锅炉plate 项目

本项目提供了一个 MySQL 相关的模板项目,具备清晰的目录结构和架构设计,方便本地执行、部署,同时考虑了扩展性、维护性和安全性等多方面因素。

🚀 快速开始

本地执行

# 配置环境
cp .env.example .env

# 修改 .env 文件以符合需求

# 安装依赖项
pip install -r requirements.txt

# 启动服务器
python mysql_mcp_server/main.py run

✨ 主要特性

  • 清晰的目录结构:项目各模块分工明确,便于开发和维护。
  • 分层架构设计:接口层、业务逻辑层和数据访问层分离,提高系统的可扩展性。
  • 丰富的数据库操作工具:提供了创建表、查看表结构、执行查询等多种工具。
  • 良好的扩展性:可以方便地添加新的数据库操作工具。
  • 安全保障:从凭证管理、密码策略、网络访问控制和数据传输加密等多方面保障系统安全。

📦 安装指南

使用 Docker 运行

# 构建镜像
docker build -t mysql-mcp .

# 启动容器
docker run --name mysql-mcp-container -p 5000:5000 mysql-mcp

💻 使用示例

基础用法

项目提供了丰富的数据库操作工具,以下是部分工具的使用示例:

# 查看表结构
python mysql_mcp_server/executors/desc_table.py

# 执行 SELECT 查询
python mysql_mcp_server/executors/select_query.py

📚 详细文档

目录结构

以下是项目的目录结构:

MCPBoilerPlate/
├── mysql_mcp_server/           # 主应用程序目录
│   ├── executors/              # 数据库操作执行器
│   │   ├── create_table.py     # 创建表的工具
│   │   ├── desc_table.py       # 查看表结构的工具
│   │   ├── explain.py          # 提供查询执行计划的工具
│   │   ├── insert_query.py     # 执行 INSERT 查询的工具
│   │   ├── insight_starter.py  # 用于编写报告的架构验证工具
│   │   ├── invoke_viz_pro.py   # 可视化图表推荐工具
│   │   ├── select_query.py     # 执行 SELECT 查询的工具
│   │   └── show_tables.py      # 获取表列表的工具
│   ├── helper/                 # 工具模块
│   │   ├── db_conn_helper.py   # 管理数据库连接
│   │   ├── logger_helper.py    # 日志实用程序
│   │   └── tool_decorator.py   # 工具装饰器
│   └── main.py                 # 应用程序入口点
├── docker-compose.yml          # Docker Compose 配置
├── Dockerfile                  # Docker 镜像构建设置
├── requirements.txt            # 依赖项包列表
└── .env.example                # 示例环境变量文件

架构设计

分层结构

  1. 接口层: MCP 服务器 (FastMCP)
  2. 业务逻辑层: 处理器和执行器
  3. 数据访问层: 数据库连接和查询执行

关键类和模块

  • MySQLMCPServer: 主服务器类,负责初始化并运行 MCP 服务器
  • DatabaseManager: 单例模式的数据库连接管理器
  • 执行器: 数据库操作的集合工具
    • execute_create_table: 创建表
    • execute_desc_table: 检查表结构
    • execute_explain: 提供查询执行计划
    • execute_insert_query: 执行 INSERT 查询
    • execute_select_query: 执行 SELECT 查询
    • execute_show_tables: 获取表列表

通信流程

  1. AI 模型从 MCP 服务器请求可用工具的列表。
  2. 服务器返回可用工具列表。
  3. AI 模型请求执行特定工具。
  4. 服务器调用相应的执行器进行数据库操作。
  5. 执行结果返回给 AI 模型。

扩展性和维护

添加工具

executors 目录中实现新工具,并在 __init__.py 中注册它们。

环境变量管理

使用环境变量管理凭证和配置,确保敏感信息不硬编码。

安全考虑

  • 凭证管理: 使用环境变量或秘密管理系统存储数据库凭证。
  • 强密码策略: 配置安全的密码政策,避免弱密码。
  • 网络访问控制: 限制对数据库端口的访问,仅允许必要 IP 地址连接。
  • SSL/TLS 加密: 启用 SSL/TLS 加密以确保数据传输安全。

通过遵循这些最佳实践,可以显著提高系统的安全性。

  • 0 关注
  • 0 收藏,16 浏览
  • system 提出于 2025-09-23 23:36

相似服务问题

相关AI产品