Token导航 LogoToken导航

Agent Skill · 研究检索

mysql-debug(MySQL 调试)

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

mysql-debug 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 71,089。

总安装 196周安装 8GitHub Stars 11下载 63核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:mysql-debug(MySQL 调试)
来源仓库:https://github.com/xu-cell/ai-engineering-init
仓库路径:skills/mysql-debug
安装命令:
npx skills add https://github.com/xu-cell/ai-engineering-init --skill mysql-debug
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/xu-cell/ai-engineering-init --skill mysql-debug

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

mysql-debug 用于辅助数据库表结构、查询语句和迁移脚本编写。适合分析 schema、编写 SQL、排查查询问题或生成迁移建议。需明确数据库类型、连接环境和目标表,区分只读分析与写入变更。涉及删除、更新或批量导入时,应优先 dry-run 或事务保护,避免误操作。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/mysql-debug

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/xu-cell/ai-engineering-init --skill mysql-debu…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

mysql-debug 怎么安装?

在终端执行 npx skills add https://github.com/xu-cell/ai-engineering-init --skill mysql-debug。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

mysql-debug 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

mysql-debug 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/xu-cell/ai-engineering-init --skill mysql-debug 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

mysql-debug 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

mysql-debug 用的人多吗?

公开数据是累计安装 196 次,近一周安装 8 次,下载 63 次,GitHub 11 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

mysql-debug 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
mysql-debug

MySQL 调试 · 本页

19611执行命令未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

MySQL 数据库查询调试技能

概述

本技能用于在 Bug 排查过程中直接查询 MySQL 数据库,验证数据状态。配合日志分析定位问题根因。

核心能力:

  1. 智能判断 Bug 是否需要查库(明显代码错误跳过)
  2. 从日志自动提取数据库名(租户 ID = 数据库名)
  3. 只读查询,安全排查

连接信息获取(三级降级,自动查找)

当本技能被激活时,按以下优先级获取数据库连接信息:

优先级 1:用户对话中指定(最高优先级)

用户直接给出连接信息,或指定环境名:

  • "连 dev 环境查一下" → 使用 .claude/mysql-config.json 中 dev 环境的配置
  • 直接给出 host/port/user/password → 直接使用

优先级 2:.claude/mysql-config.json(显式配置,可选)

如果文件存在且当前环境的 password 不是占位符 YOUR_PASSWORD,使用该配置。 此文件为可选,主要用于连接非本地环境(dev/prod 远程数据库)。

优先级 3:工程配置文件(零配置,本地开发默认)

从项目的 bootstrap-dev.yml 中自动提取连接信息:

搜索路径:

**/bootstrap-dev.yml
**/bootstrap*.yml(降级)

解析位置:spring.dataset.system.master 节点

解析规则:

# 从以下字段提取:
jdbcUrl: jdbc:mysql://127.0.0.1:3306/system_xxx
username: root
password: xxx

提取结果:

  • host = 127.0.0.1(从 jdbcUrl 解析)
  • port = 3306(从 jdbcUrl 解析)
  • user = root(username 字段)
  • password = xxx(password 字段)
  • 注意:jdbcUrl 中的数据库名(system_xxx)为系统库,不作为查询目标数据库。查询目标数据库 = 租户ID(从日志提取或用户指定)

mysql CLI 查找(跨平台,优先缓存)

优先级 1:配置文件指定路径(推荐,一次配置永久生效)

在 .claude/mysql-config.json(或 .cursor/mysql-config.json)中配置 mysqlPath:

{
  "mysqlPath": "/opt/homebrew/opt/mysql-client/bin/mysql",
  "environments": { ... }
}

Windows 示例:

{
  "mysqlPath": "C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysql.exe",
  "environments": { ... }
}
如果 mysqlPath 已配置且文件存在,直接使用,跳过下方所有搜索步骤。

优先级 2:系统 PATH 查找(一条命令,不遍历磁盘)

平台命令
macOS / Linuxwhich mysql
Windowswhere mysql

优先级 3:常见安装路径(仅尝试已知固定路径,禁止遍历磁盘)

macOS:

ls /opt/homebrew/opt/mysql-client/bin/mysql \
  || ls /opt/homebrew/bin/mysql \
  || ls /usr/local/mysql/bin/mysql

Windows(直接检查这几个路径,禁止遍历 C:\、D:\ 等盘符):

where /R "C:\Program Files\MySQL" mysql.exe 2>nul
if not exist ... (
  where /R "C:\Program Files (x86)\MySQL" mysql.exe 2>nul
)

Linux:

ls /usr/bin/mysql || ls /usr/local/bin/mysql

优先级 4:找不到时的引导提示

⚠️ 未找到 mysql 客户端。请选择一种方式解决:

方式 1(推荐):在配置文件中指定路径
  在 .claude/mysql-config.json(Cursor 用 .cursor/mysql-config.json)中添加:
  { "mysqlPath": "你的mysql可执行文件完整路径" }

方式 2:安装 mysql 客户端
  macOS:   brew install mysql-client
  Windows: 下载 https://dev.mysql.com/downloads/shell/ 或 scoop install mysql
  Linux:   apt install mysql-client / yum install mysql
关键规则:禁止使用 find / 或遍历磁盘盘符来搜索 mysql。 只用上述固定路径检查。

引导提示(仅当连接信息和 mysql CLI 都无法获取时)

⚠️ 数据库查询功能需要先完成配置:

1. 连接信息获取失败:
   - 未找到 bootstrap-dev.yml 工程配置文件
   - 未找到 .claude/mysql-config.json 配置文件
   → 请创建 .claude/mysql-config.json 或确保项目中存在 bootstrap-dev.yml

2. 安装 MySQL 客户端:
   brew install mysql-client

完成后重新触发即可使用数据库查询辅助排查。
引导提示输出后,Bug 排查仍可继续(走 bug-detective 纯代码分析路径),只是跳过数据库查询环节。

多环境支持

配置文件结构

.claude/mysql-config.json 支持多环境配置:

{
  "environments": {
    "local": { "host": "127.0.0.1", "port": 3306, "user": "root", "password": "xxx" },
    "dev":   { "host": "dev-db.example.com", "port": 3306, "user": "dev_user", "password": "xxx" },
    "prod":  { "host": "prod-db.example.com", "port": 3306, "user": "readonly", "password": "xxx" }
  },
  "default": "local"
}

环境选择规则

优先级来源示例
1(最高)用户对话中指定"连 dev 环境查一下"、"用生产库看看"
2配置文件 default 字段"default": "local"

环境关键词映射

用户说的话 → 对应环境名:

用户说法环境
"本地"、"local"、"本地环境"local
"开发"、"dev"、"测试环境"、"开发环境"dev
"生产"、"prod"、"线上"、"正式环境"prod

连接示例

# 用户说"连 dev 环境查一下 order_info"
# → 读取 environments.dev 的连接信息 + 日志提取的数据库名
mysql -h dev-db.example.com -P 3306 -u dev_user -p'xxx' 546198574447230976 -e "SELECT ..."

核心流程:是否需要查库?

决策树(Bug 修复时必须先评估)

用户报告 Bug / 提供日志
  │
  ├─ 明显的代码错误? ──→ ✅ 不需要查库,直接修复
  │   - NPE 且代码中未做空判断
  │   - 语法错误、拼写错误
  │   - 类型转换错误(ClassCastException)
  │   - 缺少 import、注解遗漏
  │   - 方法签名不匹配
  │
  ├─ 数据相关的问题? ──→ 🔍 需要查库
  │   - "查不到数据"、"数据为空"
  │   - "数量不对"、"金额不对"
  │   - SQL 相关异常(DataIntegrityViolation、DuplicateKey)
  │   - 关联查询结果异常
  │   - 状态流转异常(订单状态不对等)
  │
  ├─ 不确定是代码还是数据? ──→ 🔍 需要查库确认
  │   - 逻辑正确但结果错误
  │   - 特定租户/特定数据才出现的 Bug
  │   - 生产有问题但本地无法复现
  │
  └─ 配置/环境问题? ──→ ✅ 不需要查库
      - 启动失败、Bean 创建异常
      - 配置文件错误
      - 依赖版本冲突

评估输出格式

在 Bug 修复响应中,先输出评估结论:

📊 数据库查询评估:需要查库
理由:日志显示 order_info 查询返回空,需要确认数据是否存在
数据库:546198574447230976(从日志提取)

或:

📊 数据库查询评估:不需要查库
理由:明显的 NPE,代码中 getUserInfo() 返回值未做空判断

从日志提取数据库名

日志格式说明

本项目的日志格式:

2026-03-04 10:21:40.902,-,546198574447230976,, DEBUG 94396 --- [  XNIO-1 task-3] n.x.f.c.request.RequestLoggingFilter : 47  : >>> GET /api/v2/web/xxx

各字段含义:

时间戳                    ,-,租户ID(=数据库名),, 日志级别 PID --- [线程名] 类名 : 行号 : 日志内容

提取规则

  1. 自动提取:从日志行中匹配 ,-,(\d{15,19}),, 模式,提取的数字即为数据库名
  2. 手动指定:用户直接说"查 546198574447230976 库"或"数据库名是 xxx"
  3. 优先级:手动指定 > 日志提取 > 配置文件 default

提取示例

日志:2026-03-04 10:21:40.902,-,546198574447230976,, DEBUG ...
                                ↑
                          数据库名 = 546198574447230976

连接时使用:

mysql -h 127.0.0.1 -P 3306 -u root -p'password' 546198574447230976 -e "SELECT ..."

查询执行

连接方式

按"连接信息获取"章节的优先级获取 host/port/user/password,数据库名从日志提取或用户指定:

# mysql 路径:优先用 mysqlPath 配置,否则用 which/where 查找结果
MYSQL_BIN={mysqlPath 或 which/where 找到的路径}

# 连接信息来源:用户指定 > mysql-config.json > bootstrap-dev.yml 自动提取
# 数据库名来源:用户指定 > 日志提取的租户ID
$MYSQL_BIN -h {host} -P {port} -u {user} -p'{password}' {database_from_log_or_user} -e "{SQL}"

常用排查查询模板

查看表结构
DESCRIBE table_name;
SHOW CREATE TABLE table_name;
按 ID 查记录
SELECT * FROM table_name WHERE id = {id} AND del_flag = 2;
查看最近修改的数据
SELECT * FROM table_name
WHERE uptime >= '{log_timestamp}'
ORDER BY uptime DESC
LIMIT 20;
检查关联数据一致性
SELECT a.id, b.id AS related_id
FROM table_a a
LEFT JOIN table_b b ON a.related_id = b.id
WHERE a.id = {id} AND b.id IS NULL;
统计数据分布
SELECT status, COUNT(*) as cnt
FROM table_name
WHERE del_flag = 2
GROUP BY status;
查看某时间段的操作记录
SELECT * FROM table_name
WHERE crtime BETWEEN '{start}' AND '{end}'
ORDER BY crtime DESC
LIMIT 50;

安全规范(强制执行,违反即终止)

允许执行的 SQL(白名单)

只允许以下语句类型:

  • SELECT — 查询数据
  • DESCRIBE / DESC — 查看表结构
  • SHOW — 查看建表语句、索引、状态等
  • EXPLAIN — 分析执行计划

禁止执行的 SQL(黑名单)

DDL 操作 — 全部禁止:

  • CREATE TABLE / VIEW / INDEX / DATABASE
  • ALTER TABLE / COLUMN
  • DROP TABLE / VIEW / INDEX / DATABASE
  • TRUNCATE TABLE
  • RENAME TABLE

DML 写操作 — 全部禁止:

  • INSERT — 禁止插入数据
  • UPDATE — 禁止更新数据
  • DELETE — 禁止删除数据
  • REPLACE — 禁止替换数据

权限/管理操作 — 全部禁止:

  • GRANT / REVOKE
  • SET GLOBAL
  • FLUSH

敏感 SQL 拦截(执行前必须分析)

在执行任何 SQL 之前,必须进行安全分析。遇到以下情况时,不执行 SQL,改为输出分析结果并询问用户:

风险类型检测规则处理方式
无 WHERE 全表扫描SELECT * FROM xxx 无 WHERE 子句提醒用户加条件,或自动加 LIMIT 10
大范围查询WHERE 条件覆盖范围过大(如 del_flag = 2)提醒加更精确条件,强制 LIMIT 50
多表 JOIN 无条件JOIN 无 ON 条件(笛卡尔积)拒绝执行,提示补充 JOIN 条件
子查询嵌套过深超过 3 层嵌套子查询输出 SQL 让用户确认后再执行
敏感表查询涉及用户密码表、密钥表输出脱敏后的 SQL 分析,不直接查询

执行前检查流程

收到/构造 SQL
  │
  ├─ 是否在白名单内? ──→ 否 → 拒绝执行,输出原因
  │
  ├─ 是否命中敏感规则? ──→ 是 → 输出风险分析,询问用户
  │
  ├─ 是否包含 LIMIT? ──→ 否 → 自动追加 LIMIT 50
  │
  └─ 通过所有检查 → 执行 SQL

查询结果安全

  • 查询必须加 LIMIT(默认 LIMIT 50)防止返回过多数据
  • 不在输出中暴露密码、手机号(phone)、身份证(id_card)等敏感字段
  • 查询结果中的敏感字段用 *** 脱敏展示
  • 如需修改数据,只输出 SQL 语句让用户手动执行,不代为执行

配置文件安全

  • .claude/mysql-config.json 已加入 .gitignore,禁止提交到版本库

与 bug-detective 配合

本技能是 bug-detective 的数据层扩展。当 bug-detective 被触发时,会自动评估是否需要同时激活 mysql-debug:

步骤bug-detectivemysql-debug
1分析日志、定位异常层评估是否需要查库
2识别涉及的表和查询从日志提取数据库名
3推断可能原因执行 SQL 验证数据
4给出修复方案用数据证实/排除假设

典型联合使用:

用户:"订单查询接口返回空数据,日志如下..."
日志:2026-03-04 10:21:40.902,-,546198574447230976,, ERROR ...

→ 评估:需要查库(数据返回空,需确认数据是否存在)
→ 提取数据库:546198574447230976
→ 执行:SELECT * FROM order_info WHERE id = xxx AND del_flag = 2
→ 发现:del_flag = 1(已删除),用户操作了删除但不知情
→ 修复方案:恢复数据 / 检查前端删除按钮权限

注意

  • 本技能专注于查询数据库辅助排查,不涉及建表、迁移等操作(请使用 database-ops)
  • 如果是纯代码错误(NPE、语法错误等)不需要查库,请使用 bug-detective
  • 如果是 SQL 性能问题(慢查询),请使用 performance-doctor

平台分布

Codex

37.2%
按下载量换算23

Claude

30.89%
按下载量换算19

Cursor

19.86%
按下载量换算13

Gemini CLI

9.2%
按下载量换算6

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

未通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/xu-cell/ai-engineering-init --skill mysql-debug 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills