G3FO Database Operations Script
替代 MCP MySQL 的 Python 数据库操作工具。
连接管理(无内存泄漏)
- 单次执行:每次命令是独立进程,执行完即退出
- 连接生命周期:连接仅在单次命令执行期间存在(通常几毫秒到几秒),
finally中统一conn.close() - 无长连接/连接池:用完即关,不会累积连接
- 连接超时:默认 10 秒,防止网络慢时长时间挂起
安装
pip install -r requirements.txt
# 或
pip install mysql-connector-python
默认连接
与 MCP user-mysql 一致:
- host: 192.168.3.233
- port: 3306
- user: root
- password: afe123456
- database: g3fo_base
覆盖连接
- 命令行:
--host,--port,--user,--password,--database,--connection-timeout - 环境变量:
MYSQL_HOST,MYSQL_PORT,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE,MYSQL_CONNECTION_TIMEOUT
命令
| 命令 | 说明 |
|---|---|
| query | SELECT 查询 |
| execute | INSERT/UPDATE/DELETE |
| list_tables | 列举所有表 |
| describe_table | 表结构 |
| call_procedure | 执行存储过程 |
| batch_execute | 批量 SQL(支持文件) |
| get_table_comment | 获取表注释 |
| set_table_comment | 修改表注释 |
| get_column_comment | 获取列注释 |
| set_column_comment | 修改列注释 |
| test_connection | 测试连接 |
示例
python db_ops.py test_connection
python db_ops.py query "SELECT 1"
python db_ops.py --database g3fo_trade list_tables
python db_ops.py describe_table m_order
python db_ops.py batch_execute --file script.sql