MYSQL QUERY

🗄️ 安全数据库查询 · SSH隧道自动托管

dev-tool榜 #7

安全查询项目数据库的自动化工具,支持SSH隧道自动管理,避免密码暴露在进程列表中。

收藏
11.1k
安装
3.3k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

db-query 是一款面向开发运维场景的数据库查询技能,核心解决远程数据库安全访问配置管理标准化两大痛点。通过集中式 JSON 配置文件管理多数据库连接,支持自动 SSH 隧道建立与销毁,用户只需指定数据库描述名即可执行 SQL 查询。

工作流程:
1. 读取 ~/.config/clawdbot/db-config.json 匹配数据库描述

2. 若配置 SSH 隧道,自动建立本地端口转发

3. 通过环境变量注入密码,执行 MySQL 查询

4. 查询完成后自动关闭 SSH 隧道,避免连接残留

显著优点

  • 安全设计优先:密码通过 MYSQL_PWD/SSHPASS 环境变量传递,进程列表中不可见;推荐将敏感信息外置到环境变量而非配置文件
  • 零运维负担:SSH 隧道的生命周期完全自动化,无需手动 ssh -L 或担心忘记关闭
  • 多环境友好:单配置文件支持多个数据库,通过描述名区分,支持大小写不敏感的部分匹配
  • 配置即代码:JSON 配置易于版本控制(脱敏后),环境变量命名规范清晰

潜在缺点与局限性

  • 仅支持 MySQL:当前实现依赖 mysql 客户端,不支持 PostgreSQL、MongoDB 等
  • Python 3.6+ 依赖:目标环境需预装 Python,且脚本路径硬编码于 node_modules 下,移植性受限
  • 单查询单连接:每次查询独立建立连接,高频短查询场景开销较大
  • SSH 密码依赖 sshpass:若使用 SSH 密码认证需额外安装 sshpass,密钥认证场景未明确说明
  • 错误处理透明度:自动隧道关闭虽便利,但连接失败时的调试信息可能分散在多个层

适合人群

  • 需要频繁访问跳板机后数据库的开发者、DBA
  • 追求配置标准化、避免本地 SSH 隧道手动管理的团队
  • 已将 MySQL 作为主力数据库的技术栈

常规风险

  • 环境变量在 shell history 中可能残留(建议配合 HISTCONTROL 或使用专用 secret 管理工具)
  • 配置文件权限若设置不当(如 644),数据库描述等元数据可能泄露
  • 本地端口冲突:多数据库共用同一 local_port 会导致隧道建立失败

MYSQL QUERY 内容

暂无文件树

手动下载zip · 6.0 kB
contentapplication/octet-stream
请选择文件