生产环境中使用DBeaver、DataGrip、TablePlus管理数据库时,连接池与SSH隧道的配置需要严格遵循安全规范,避免因不当配置引发数据泄露、连接耗尽等问题。合理的规范既能保障数据库访问的安全性,也能提升工具的使用效率。

连接池通用生产规范
连接池的配置需要平衡资源占用与访问效率,三款工具的连接池核心参数需要遵循以下通用要求:
- 最大连接数不超过数据库实例允许的最大连接数的30%,避免工具占用过多连接影响业务服务
- 连接空闲超时设置为300秒到600秒之间,避免长期空闲连接占用资源
- 开启连接校验机制,每次从连接池获取连接时验证连接有效性,失效连接自动回收
- 禁止在生产环境开启自动重连功能,避免异常场景下反复重试加重数据库负载
DBeaver连接池配置示例
DBeaver需要在数据库连接的高级设置中调整连接池参数,示例配置代码如下:
-- DBeaver连接池参数配置SQL示例(通过连接属性设置) # 最大连接数 pool.max.size=10 # 最小空闲连接数 pool.min.idle=2 # 连接最大空闲时间(毫秒) pool.max.idle.time=300000 # 连接校验SQL pool.validation.query=SELECT 1
DataGrip连接池配置示例
DataGrip的连接池配置在数据源的高级选项中,参数设置示例如下:
// DataGrip连接池参数配置逻辑示例 DataSourceProperties props = new DataSourceProperties(); // 设置最大连接数 props.setMaxActive(8); // 设置初始连接数 props.setInitialSize(2); // 设置连接超时时间(毫秒) props.setConnectTimeout(5000); // 设置空闲连接回收时间(毫秒) props.setTimeBetweenEvictionRunsMillis(300000);
TablePlus连接池配置示例
TablePlus的连接池配置在连接的Advanced选项卡中,参数设置参考如下:
{
"max_connections": 6,
"idle_timeout": 400,
"connection_timeout": 10,
"keep_alive": true,
"validation_query": "SELECT 1"
}
SSH隧道生产使用规范
生产环境数据库通常不直接暴露公网访问权限,需要通过SSH隧道进行加密访问,三款工具都需要遵循以下SSH隧道规范:
- SSH隧道仅使用密钥认证方式,禁止使用密码认证,密钥权限设置为600,仅允许指定用户访问
- SSH跳板机需要单独申请,仅开放数据库访问所需的端口,禁止开放多余端口
- 隧道连接超时时间设置为120秒,无操作自动断开隧道,避免长期占用跳板机资源
- 禁止在SSH隧道配置中保存明文跳板机密码或私钥内容,私钥文件需要单独存储在本地加密目录
- 生产环境禁止使用动态端口转发,仅允许指定本地端口到目标数据库端口的静态映射
DBeaver SSH隧道配置示例
DBeaver的SSH隧道配置在连接的SSH选项卡中,配置逻辑如下:
<ssh-config>
<host>jump.ipipp.com</host>
<port>22</port>
<user>db_admin</user>
<auth-type>public-key</auth-type>
<private-key-path>/encrypted/keys/db_jump_key</private-key-path>
<local-port>13306</local-port>
<remote-host>192.168.0.1</remote-host>
<remote-port>3306</remote-port>
<timeout>120</timeout>
</ssh-config>
DataGrip SSH隧道配置示例
DataGrip通过SSH隧道连接时,配置参数示例如下:
# DataGrip SSH隧道参数配置示例
ssh_config = {
"ssh_host": "jump.ipipp.com",
"ssh_port": 22,
"ssh_user": "db_admin",
"ssh_key_path": "/encrypted/keys/db_jump_key",
"local_bind_port": 13306,
"remote_host": "192.168.0.1",
"remote_port": 3306,
"session_timeout": 120
}
TablePlus SSH隧道配置示例
TablePlus的SSH隧道配置在连接的SSH选项卡中,参数设置参考如下:
# TablePlus SSH隧道连接命令示例 ssh -i /encrypted/keys/db_jump_key -L 13306:192.168.0.1:3306 db_admin@jump.ipipp.com -p 22 -o ConnectTimeout=120 -o StrictHostKeyChecking=yes
生产环境操作禁忌
使用三款工具操作生产数据库时,除了连接池和SSH隧道的规范,还需要遵守以下禁忌:
- 禁止使用工具执行批量删除、全表更新等高危操作,高危操作需要走工单审批流程
- 禁止在生产环境连接中保存数据库账号密码,每次访问需要手动输入或通过企业级密码管理工具获取
- 禁止同时打开超过2个生产数据库连接,避免误操作影响业务
- 禁止在非办公网络环境下使用工具连接生产数据库,办公网络需要开启VPN且通过安全审计
- 连接使用完成后必须手动关闭连接,避免连接长期驻留
规范检查清单
每次使用工具连接生产数据库前,可以通过以下清单快速检查配置是否符合规范:
| 检查项 | DBeaver | DataGrip | TablePlus |
|---|---|---|---|
| 最大连接数是否≤数据库最大连接数30% | 是 | 是 | 是 |
| 是否使用密钥认证SSH隧道 | 是 | 是 | 是 |
| 连接空闲超时是否≤600秒 | 是 | 是 | 是 |
| 是否未保存明文密码 | 是 | 是 | 是 |
| 是否仅开放静态端口映射 | 是 | 是 | 是 |
遵循以上规范可以有效降低生产数据库的管理风险,所有配置调整都需要经过团队评审后生效,定期审计工具的配置和访问日志,及时发现不规范的操作行为。