# G3FO Database Operations Script 替代 MCP MySQL 的 Python 数据库操作工具。 ## 连接管理(无内存泄漏) - **单次执行**:每次命令是独立进程,执行完即退出 - **连接生命周期**:连接仅在单次命令执行期间存在(通常几毫秒到几秒),`finally` 中统一 `conn.close()` - **无长连接/连接池**:用完即关,不会累积连接 - **连接超时**:默认 10 秒,防止网络慢时长时间挂起 ## 安装 ```bash 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 | 测试连接 | ## 示例 ```bash 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 ```