连接池管理接口用于在后端运行时直接管理数据库连接,所有请求均使用 POST,并返回统一的 JSON 响应结构。
注意:系统会自动将客户端的 IP 附加到连接池内部使用的
conn_id(例如mysql_primary@127-0-0-1),响应内容会返回最终 ID。客户端在请求体中仍然只需要提交原始conn_id,系统会基于发起请求的 IP 自动完成匹配。
curl -X POST http://localhost:8080/api/v1/connection_pool/register \
-H "Content-Type: application/json" \
-d '{
"conn_id": "mysql_primary",
"db_detail": {
"type": "mysql",
"version": "v8",
"host": "127.0.0.1",
"port": 3306,
"username": "root",
"password": "secret",
"database": "demo",
"schema": "demo"
},
"config": {
"max_open_conns": 10,
"max_idle_conns": 5,
"max_idle_time_seconds": 300,
"max_lifetime_seconds": 600
}
}'
响应示例
{
"code": 0,
"msg": "注册连接成功",
"data": {
"conn_id": "mysql_primary@127-0-0-1",
"type": "mysql",
"version": "v8",
"last_used": "2024-03-12T10:21:33.456789+08:00",
"connected": true,
"max_idle_time_seconds": 300,
"max_lifetime_seconds": 600,
"max_open_conns": 10,
"max_idle_conns": 5
}
}
curl -X POST http://localhost:8080/api/v1/connection_pool/stats \
-H "Content-Type: application/json" \
-d '{}'
响应示例
{
"code": 0,
"msg": "操作成功",
"data": {
"connections": [
{
"conn_id": "mysql_primary@127-0-0-1",
"type": "mysql",
"version": "v8",
"last_used": "2024-03-12T10:21:33.456789+08:00",
"connected": true,
"max_idle_time_seconds": 300,
"max_lifetime_seconds": 600,
"max_open_conns": 10,
"max_idle_conns": 5
}
]
}
}
curl -X POST http://localhost:8080/api/v1/connection_pool/ping \
-H "Content-Type: application/json" \
-d '{
"conn_id": "mysql_primary"
}'
响应示例
{
"code": 0,
"msg": "连接可用"
}
curl -X POST http://localhost:8080/api/v1/connection_pool/close \
-H "Content-Type: application/json" \
-d '{
"conn_id": "mysql_primary"
}'
响应示例
{
"code": 0,
"msg": "连接已关闭"
}
curl -X POST http://localhost:8080/api/v1/connection_pool/close_all \
-H "Content-Type: application/json" \
-d '{}'
响应示例
{
"code": 0,
"msg": "所有连接已关闭"
}