MYSQL QUERY

通过 SSH 隧道自动管理连接,执行 SQL 查询。

已扫描
适合谁
数据库管理员、后端开发人员、运维工程师
不适合谁
非技术人员、无需数据库操作的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @zenixp/db-query

Skill 说明

命令、参数、文件名以原文为准

数据库查询

概述

通过集中配置文件查询数据库,并自动管理 SSH 隧道。处理连接详情、SSH 隧道建立/拆除以及查询执行。

安全

密码绝不会暴露在进程列表中。 该 Skill 使用环境变量来存储凭据:

  • MYSQL_PWD:数据库密码(传递给 mysql 客户端)
  • SSHPASS:SSH 隧道密码(传递给 sshpass)

建议: 将凭据存储在环境变量中而不是配置文件中,以提高安全性。

配置

设置

  1. 创建配置文件 ~/.config/clawdbot/db-config.json
   mkdir -p ~/.config/clawdbot
   # 复制示例配置并编辑
   cp /usr/lib/node_modules/clawdbot/skills/db-query/scripts/config.example.json ~/.config/clawdbot/db-config.json
  1. 添加数据库条目,包含以下字段:

- name:用于查找数据库的描述(必填)

- host:数据库主机(必填)

- port:数据库端口(默认:3306)

- database:数据库名称(必填)

- user:数据库用户(必填)

- password:数据库密码(可选,可使用环境变量)

- ssh_tunnel:可选的 SSH 隧道配置

  1. SSH 隧道配置(如果需要):

- enabled:true/false

- ssh_host:远程 SSH 主机

- ssh_user:SSH 用户名

- ssh_port:SSH 端口(默认:22)

- local_port:本地转发端口(例如 3307)

- remote_host:SSH 后面的远程数据库主机(默认:localhost)

- remote_port:远程数据库端口(默认:3306)

环境变量(推荐)

无需在配置文件中存储密码,而是使用环境变量:

# 格式:DB_PASSWORD_<DATABASE_NAME>(空格替换为下划线,大写)
export DB_PASSWORD_PRODUCTION_USER_DB="your_db_password"

# 格式:SSH_PASSWORD_<DATABASE_NAME> 用于 SSH 隧道密码
export SSH_PASSWORD_PRODUCTION_USER_DB="your_ssh_password"

示例配置

{
  "databases": [
    {
      "name": "Production User DB",
      "host": "localhost",
      "port": 3306,
      "database": "user_db",
      "user": "db_user",
      "password": "",
      "ssh_tunnel": {
        "enabled": true,
        "ssh_host": "prod.example.com",
        "ssh_user": "deploy",
        "local_port": 3307
      }
    }
  ]
}

设置环境变量(推荐):

export DB_PASSWORD_PRODUCTION_USER_DB="your_db_password"
export SSH_PASSWORD_PRODUCTION_USER_DB="your_ssh_password"

使用方法

列出数据库

python3 /usr/lib/node_modules/clawdbot/skills/db-query/scripts/db_query.py --list

查询数据库

python3 /usr/lib/node_modules/clawdbot/skills/db-query/scripts/db_query.py \
  --database "Production User DB" \
  --query "SELECT * FROM users LIMIT 10"

该脚本将:

  1. 通过匹配配置中的描述找到数据库
  2. 启动 SSH 隧道(如果已配置)
  3. 执行查询
  4. 自动关闭 SSH 隧道(清理重要)

使用自定义配置路径

python3 /usr/lib/node_modules/clawdbot/skills/db-query/scripts/db_query.py \
  --config /path/to/custom-config.json \
  --database "test" \
  --query "SHOW TABLES"

要求

  • MySQL 客户端:apt install mysql-client 或等效工具
  • SSH 客户端:通常预装在 Linux/Mac 上
  • Python 3.6+

备注

  • SSH 隧道会在查询执行后自动关闭
  • 使用 --list 查看所有配置的数据库及其描述
  • 数据库搜索是对 name 字段进行不区分大小写的部分匹配
  • 用于 SSH 隧道的本地端口应为每个数据库唯一
Z
@zenixp

已收录 1 个 Skill

相关推荐