README
🚀 数据库管理控制台服务器
本数据库管理控制台服务器为用户提供了便捷的数据库管理方案,支持多种主流数据库,集成OpenAI的Agents SDK,具备高可用性设计,能高效稳定地进行数据库操作。
✨ 主要特性
- 多数据库支持:支持MySQL、PostgreSQL等多种主流数据库。
- SSE模式集成:完美兼容OpenAI的Agents SDK,支持通过SSE协议与人工智能代理交互。
- 查询超时配置:允许为每个数据库连接单独设置查询超时时间,默认30秒。
- 高可用性设计:内置连接池和负载均衡功能,确保数据库操作高效稳定。
🚀 快速开始
运行服务器
# 以控制台模式启动
./server -mode=console
# 以SSE模式启动(用于OpenAI代理集成)
./server -mode=sse
最基本的配置文件示例
{
"connections": [
{
"id": "mysql1",
"type": "mysql",
"host": "mysql1",
"port": 3306,
"name": "db1",
"user": "user1",
"password": "pass1"
}
]
}
💻 使用示例
基础用法
控制台操作命令 - 基本命令
help:显示所有可用命令。query:执行SQL查询,支持超时参数。describe:查看表结构信息。execute:执行DML操作(如INSERT, UPDATE, DELETE)。schema:获取数据库 schema 信息。connections:管理数据库连接状态。
控制台操作命令 - 示例
# 执行查询操作
query mysql1 "SELECT * FROM users LIMIT 10"
# 带超时设置的查询
query mysql1 --timeout=60 "SELECT * FROM large_table"
# 查看表结构
describe mysql1 users
高级用法
OpenAI 代理 SDK 集成 - 基本集成示例
from openai import OpenAI
from agents.agent import Agent, ModelSettings
from agents.tools.mcp_server import MCPServerSse, MCPServerSseParams
# 初始化 MCP 服务器连接
db_server = MCPServerSse(
params=MCPServerSseParams(
url="http://localhost:9095/sse"
),
)
# 创建具备数据库操作能力的代理
agent = Agent(
name="Database Assistant",
model="gpt-4o",
model_settings=ModelSettings(temperature=0.1),
instructions="""
你是一个专业的数据库助手,能够执行SQL查询、管理事务和分析表结构。
""",
tools=[db_server]
)
📚 详细文档
错误处理
常见错误
- 连接超时:检查目标数据库服务是否正常运行。
- 权限不足:确认用户拥有相应的数据库权限。
- 语法错误:仔细检查SQL语句是否有拼写或语法问题。
日志记录
服务器默认输出日志到logs/目录,支持DEBUG、INFO、WARNING、ERROR四级日志级别。
OpenAI 代理 SDK 集成
兼容性说明
- 支持通过SSE协议与OpenAI的GPT-4o等模型交互。
- 提供完整的数据库工具链,包括查询、描述和执行功能。
数据库连接池配置
{
"connections": [
{
"id": "mysql1",
"type": "mysql",
"host": "mysql1",
"port": 3306,
"name": "db1",
"user": "user1",
"password": "pass1",
"pool_size": 5,
"max_idle_time": 60
}
]
}
表格输出格式
| 属性 | 详情 |
|------|------|
| 命令 | 描述 | 示例 |
| query | 执行查询 | query mysql1 "SELECT * FROM users" |
| describe | 查看表结构 | describe mysql1 users |
| execute | 执行DML操作 | execute mysql1 "INSERT INTO users VALUES(1, 'test')" |
| schema | 获取数据库 schema | schema mysql1 |
| connections | 管理连接状态 | connections status |
文献记录
所有文档和设计思路均可在项目仓库中找到。
⚠️ 重要提示
使用本工具前,请确保已阅读并理解相关安全注意事项,特别是在生产环境中使用时要格外小心。
Scan to contact