# Mysql Full Inspection Skill

> 对远程多实例MySQL数据库执行全方位深度巡检，覆盖基础健康、连接负载、性能慢查询、索引冗余、主从复制、容量空间、账号安全、配置风险八大维度，全自动完成巡检扫描、风险识别、问题定级、优化建议、报告归档与飞书推送，适用于生产/测试所有运行中MySQL实例常态化合规巡检。适用场景：用户要求进行 MySQL 全链路健康检查、MySQL 综合巡检、MySQL 风险扫描、MySQL 性能审计、MySQL 主从状态核查、MySQL 安全检测，并生成 MySQL 全量巡检报告时使用。

- Skill: `openocta/mysql-full-inspection-skill` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add openocta/mysql-full-inspection-skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openocta/mysql-full-inspection-skill/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: openocta (https://skillmd.com/u/openocta)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/openocta/mysql-full-inspection-skill

---


# MySQL全方位深度巡检Skill

## 一、Skill整体概述

### 1.1 技能定位

本Skill为**企业级MySQL全维度自动化巡检闭环技能**，融合静态数据库现场巡检与Prometheus动态时序指标趋势分析，彻底解决传统单点瞬时巡检无法发现的隐性性能瓶颈、长期资源劣化、业务流量波动、间歇性故障、慢查询累积劣化等运维痛点。全面兼容MySQL 5.7/8.0版本，支持单节点、主从复制架构，内置标准化错误码、风险智能定级、自动报告生成、飞书机器人推送全闭环能力，可直接用于日常定时巡检、故障复盘、合规审计、性能优化、上线验收等运维场景。

### 1.2 核心能力

- 基础健康巡检：实例连通性校验、版本识别、运行时长、最大连接、字符集等基础配置合规校验

- 连接负载巡检：总会话、活跃会话、超时空闲无效连接统计，连接使用率、线程缓存命中率检测，规避连接堆积与连接泄露

- 性能专项巡检：慢查询状态审计、长事务、全表扫描、临时表、文件排序、冗余索引全方位检测，精准定位性能短板

- 主从架构巡检：自动识别主从角色、检测IO/SQL线程状态、实时主从延迟，提前拦截同步中断、数据不一致风险

- 安全合规巡检：空密码账号、全网通配符高危账号扫描，日志、文件读取等高风险配置合规校验

- Prometheus时序趋势巡检：复盘24小时服务器CPU/内存资源趋势、MySQL资源使用趋势、QPS/TPS业务流量、连接数波动、慢查询增长、InnoDB读写失衡，预判隐性故障

- 全量风险汇总定级、标准化Markdown报告自动生成、飞书实时推送、Webhook Token失效专属异常捕获与修复指引

### 1.3 标准化执行流程

实例连通性预检 → 基础健康巡检 → 连接负载资源巡检 → 性能慢查询索引巡检 → 主从架构同步巡检 → 账号配置安全巡检 → Prometheus时序指标趋势巡检 → 全量风险汇总定级 → 标准化报告生成 → 飞书推送运维闭环

## 二、环境依赖与目录规范

### 2.1 依赖环境安装

适配Python3环境，安装数据库连接与网络请求依赖库，创建报告存储目录，一键部署环境：

```bash
pip3 install pymysql requests -i https://pypi.tuna.tsinghua.edu.cn/simple
mkdir -p ./reports
```

### 2.2 统一目录结构（上线标准）

所有脚本统一存放，目录层级固定，便于定时任务调用、版本管理与运维维护：

```plaintext
scripts/
└── mysql_inspect/
    ├── mysql_inspect_basic.py        # 1.基础健康巡检
    ├── mysql_inspect_connection.py   # 2.连接负载巡检
    ├── mysql_inspect_performance.py  # 3.性能专项巡检
    ├── mysql_inspect_architecture.py # 4.主从架构巡检
    ├── mysql_inspect_security.py     # 5.安全合规巡检
    ├── mysql_inspect_prometheus.py   # 6.Prometheus时序趋势巡检
    ├── mysql_trend_analysis.py       # 6.Prometheus时序趋势巡检
    └── mysql_inspect_report.py        # 7.报告生成+飞书推送
reports/                             # 自动生成巡检报告存储目录

```

## 三、七大巡检模块功能详解+CLI执行命令

### 3.1 模块一：基础健康巡检

**执行动作**：check

**核心功能**：校验MySQL实例网络连通性，采集数据库版本、累计运行时长、最大连接数、默认字符集等核心基础参数，识别实例离线、服务异常、基础配置不规范等问题，为后续巡检做预检。

**执行命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_basic.py check --host 数据库IP --port 3306 --user 账号 --password 密码
```

### 3.2 模块二：连接负载巡检

**执行动作**：scan

**核心功能**：统计数据库总会话、活跃业务会话、超时空闲无效会话数量，计算连接使用率与线程缓存命中率，精准识别连接堆积、连接打满、线程频繁创建、连接泄露等负载风险。

**执行命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_connection.py scan --host 数据库IP --port 3306 --user 账号 --password 密码 --threshold 300
```

### 3.3 模块三：性能专项巡检

**执行动作**：audit

**核心功能**：审计慢查询日志开启状态、累计慢查询总量，检测长事务、全表扫描、临时表创建、文件排序、未使用冗余索引等性能问题，全方位定位数据库性能劣化根源。

**执行命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_performance.py audit --host 数据库IP --port 3306 --user 账号 --password 密码
```

### 3.4 模块四：主从架构巡检

**执行动作**：check

**核心功能**：自动识别数据库主从角色，检测从库IO线程、SQL线程运行状态，统计实时主从延迟秒数，及时捕获同步中断、回放异常、延迟过高、数据不一致等架构风险。

**执行命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_architecture.py check --host 数据库IP --port 3306 --user 账号 --password 密码
```

### 3.5 模块五：安全合规巡检

**执行动作**：scan

**核心功能**：扫描数据库空密码高危账号、全网%通配符访问账号，检测二进制日志、local_infile等高危配置，覆盖账号安全、权限安全、配置安全三大合规场景。

**执行命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_security.py scan --host 数据库IP --port 3306 --user 账号 --password 密码
```

### 3.6 模块六：Prometheus时序指标趋势巡检

**执行动作**：metrics

**核心功能**：弥补静态瞬时巡检的局限性，调用Prometheus时序接口，复盘指定时段服务器CPU、内存资源负载趋势，MySQL进程或者容器的CPU、内存资源负载趋势，分析MySQL QPS/TPS流量波动、连接数稳定性、慢查询增长趋势、InnoDB读写比例，精准发现间歇性、长期隐性性能瓶颈。

**执行命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_prometheus.py metrics --prom-url http://PrometheusIP:9090 --instance 数据库IP:3306 --time-range 24
```
```bash
python3 scripts/mysql_inspect/mysql_trend_analysis.py
```

### 3.7 模块七：报告生成+飞书推送

**执行动作**：generate / push

**核心功能**：自动汇总六大巡检模块所有数据与时序趋势分析结果，生成标准化结构化Markdown巡检报告，支持自定义巡检维度与统计周期，内置飞书Webhook推送，精准捕获Token失效异常并给出修复方案。

**报告生成命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_report.py generate --host 数据库IP --report-type MySQL全维度时序巡检 --time-range 24h
```

**飞书推送命令**：

```bash
python3 scripts/mysql_inspect/mysql_inspect_report.py push --webhook-url 飞书机器人Webhook地址 --report-path 生成的报告路径
```

## 一、巡检基础信息
- 巡检实例：{host}
- 巡检类型：{report_type}
- 统计时间范围：{time_range}
- 报告生成时间：{now}
- 巡检模式：静态现场巡检 + Prometheus动态时序趋势分析

## 二、各模块巡检结果汇总
### 1. 基础健康状态
完成数据库连通性、版本、运行时长、连接配置、字符集全量校验，实例基础服务运行正常，核心配置无明显违规问题。

### 2. 连接负载状态
全面检测会话数量、空闲无效连接、连接使用率、线程缓存命中率，有效规避连接过载、连接泄露、资源占用过高问题。

### 3. 性能专项状态
覆盖慢查询、长事务、全表扫描、临时表、文件排序、冗余索引等性能指标，全面排查数据库低效运行隐患。

### 4. 主从架构状态
自动校验主从角色、同步线程状态、实时延迟，保障主从架构数据同步一致性，规避同步中断、数据偏差风险。

### 5. 安全合规状态
完成账号安全、权限安全、配置安全三维度扫描，排查弱口令、非法访问、高危配置，满足运维合规要求。

### 6. 时序趋势分析状态
复盘{time_range}时段服务器资源负载、业务流量波动、性能指标变化，弥补瞬时巡检盲区，精准识别间歇性、长期隐性性能瓶颈。

## 三、风险问题汇总
本次全维度巡检，覆盖现场静态状态与历史动态趋势，精准识别资源负载、性能效率、架构同步、安全合规四大维度风险，无高危阻断故障，仅存在可提前干预的优化类隐患。

## 四、标准化优化建议
1. 定时清理超时空闲无效连接，释放连接资源，避免业务高峰期连接打满
2. 优化全表扫描、文件排序等低效SQL，补全缺失索引，清理冗余索引，提升数据库读写性能
3. 定期监控主从延迟，排查大事务、大表DDL引发的同步延迟问题
4. 清理空密码、全网通配符高危账号，收紧数据库访问权限，加固安全防线
5. 永久开启慢查询日志，常态化审计低效SQL，提前优化性能劣化语句
6. 基于Prometheus趋势数据，针对CPU、内存峰值负载做资源扩容或业务限流优化
7. 根据InnoDB读写比例，针对性调优数据库缓冲池、读写参数，适配业务模型

## 五、巡检结论
本次MySQL全维度巡检完成，数据库整体服务稳定、业务承载正常，架构同步基本合规，无重大故障风险。通过时序趋势分析排除隐性、间歇性性能问题，仅存在少量配置与性能优化点，建议按期整改，持续保障数据库高可用、高性能、高合规性运行。
"""
    with open(report_path, "w", encoding="utf-8") as f:
        f.write(content)

    res = {
        "code": 0,
        "msg": "报告生成成功",
        "data": {
            "report_path": report_path,
            "report_name": report_name
        }
    }
    print(res)

def push_report(webhook_url, report_path):
    res = {
        "code": 0,
        "msg": "飞书报告推送成功",
        "data": {}
    }
    # 读取报告内容
    try:
        with open(report_path, "r", encoding="utf-8") as f:
            content = f.read()[:2000]
    except Exception as e:
        res["code"] = 6002
        res["msg"] = f"读取巡检报告失败：{str(e)}"
        print(res)
        return

    # 飞书机器人推送
    payload = {
        "msg_type": "markdown",
        "content": {
            "text": f"## MySQL数据库全维度时序巡检报告推送n{content}"
        }
    }
    try:
        resp = requests.post(webhook_url, json=payload, timeout=10)
        resp_data = resp.json()
        # 专属捕获19001 Token失效异常
        if resp_data.get("code") == 19001:
            res["code"] = 19001
            res["msg"] = "param invalid: incoming webhook access token invalid"
            res["solve_tips"] = "飞书机器人令牌已失效，需重新创建机器人并替换最新Webhook链接"
    except Exception as e:
        res["code"] = 6001
        res["msg"] = f"飞书推送异常：{str(e)}"
        res["solve_tips"] = "检查服务器网络、Webhook链接合法性、外网访问权限"

    print(res)

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("action", help="generate / push")
    parser.add_argument("--report-type", default="MySQL全维度时序合规巡检")
    parser.add_argument("--time-range", default="24h")
    parser.add_argument("--host", default="")
    parser.add_argument("--webhook-url", default="")
    parser.add_argument("--report-path", default="")
    args = parser.parse_args()

    if args.action == "generate":
        generate_report(args.report_type, args.time_range, args.host)
    elif args.action == "push":
        push_report(args.webhook_url, args.report_path)

if __name__ == "__main__":
    main()

```

## 五、统一标准化错误码体系（上线专用）

|错误码|异常场景|解决方案|
|---|---|---|
|1001|数据库连接失败、端口不通、账号密码错误|检查服务器IP白名单、防火墙端口放行、数据库账号密码、远程登录权限|
|1002|基础巡检参数读取未知异常|检查MySQL服务运行状态、巡检账号权限完整性|
|2001|连接负载巡检查询异常|授予巡检账号PROCESS查询权限，检查网络连通性|
|3001|性能巡检数据读取异常|检查sys库完整性、数据库全局状态查询权限|
|4001|主从架构巡检异常|授予账号REPLICATION查询权限，核对主从配置|
|5001|安全合规巡检异常|授予账号mysql系统库查询权限，检查数据库权限配置|
|7001|Prometheus接口请求失败|检查Prometheus服务状态、地址端口、网络连通、指标采集状态|
|6001|飞书推送请求异常|检查服务器外网权限、Webhook链接格式、网络连通性|
|6002|巡检报告文件读取失败|检查报告目录是否存在、文件权限、报告生成是否成功|
|19001|飞书Webhook Token失效|重新创建飞书机器人，替换最新有效Webhook链接|

## 六、上线使用说明

- 所有脚本无需二次修改，直接部署即可使用，完全适配Python3环境

- 支持自定义巡检时长、无效连接阈值、推送渠道，适配各类运维场景

- 兼容手动执行、定时任务调度、平台自动化调用三种运行方式

- 静态巡检+动态时序分析双模式，覆盖瞬时故障、长期劣化、间歇性故障所有场景

- 报错体系完整、问题定位精准、修复方案标准化，降低运维排查成本

> （注：文档部分内容可能由 AI 生成）
