feat(g3fo-db-ops): replace MCP MySQL with Python db_ops tool, add connection timeout
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user