当前位置: 首页 > news >正文

MySQL 一键巡检工具:完整源代码开源发布

一、工具简介

本工具是一款面向 MySQL 数据库的自动化健康巡检与报告生成工具。它通过连接数据库执行预定义的巡检 SQL 语句,并结合操作系统层面的资源监控(支持本地及 SSH 远程采集),生成一份格式规范、内容详尽的 Microsoft Word 巡检报告。报告内容涵盖系统资源、数据库配置、性能状态、安全信息及风险建议,旨在帮助 DBA 和运维人员快速掌握数据库运行状况。

二、主要功能
  1. 全面的数据库指标采集

    • 连接与会话:最大连接数、当前连接数、异常连接统计、交互超时设置等。
    • 内存与缓存:InnoDB 缓冲池大小、排序/连接缓冲区、线程缓存等。
    • 日志与存储:Binlog 保留天数、慢查询日志状态、InnoDB 日志文件大小及刷新策略。
    • 性能与锁:总查询数(QPS 参考)、表锁立即获取与等待次数。
    • 数据库对象:各库占用空间(数据+索引)、当前运行进程列表。
    • 安全与用户:数据库用户清单、权限概要、认证插件及锁定状态。
    • 实例状态:版本信息、实例启动时间、编译平台。
  2. 操作系统资源监控

    • CPU 信息:使用率、物理/逻辑核心数、当前频率。
    • 内存信息:总内存、已用内存、可用内存、使用率。
    • 磁盘信息:各挂载点容量及使用率。
    • 灵活采集方式:若巡检 MySQL 所在的主机,可直接采集本地信息;若巡检远程服务器,支持通过 SSH 协议(密码或密钥认证)远程收集系统资源数据。
  3. 智能风险分析与建议

    • 自动根据采集到的阈值(如连接数使用率超过80%、磁盘使用率超过90%、内存使用率过高等)生成风险项。
    • 每条风险包含风险等级、详细描述、处理优先级及建议负责人,辅助运维排障。
  4. 两种巡检模式

    • 单机巡检:通过交互式问答输入数据库连接信息及可选的 SSH 信息,快速生成单台数据库的报告。
    • 批量巡检:基于 Excel 模板配置多台数据库信息,一键批量生成所有实例的巡检报告,极大提升大规模巡检效率。
  5. 专业的 Word 报告输出

    • 报告采用预设的专业模板,排版清晰,包含封面、目录结构、数据表格及结论建议。
    • 文件自动以“数据库标签 + 时间戳”命名,便于归档与管理。
  6. 许可证管理

    • 内置长期试用许可证,开箱即用,无需额外激活步骤。
三、环境要求与准备工作
  • 操作系统:支持 Linux、macOS 及 Windows(部分系统采集功能在 Windows 下有所简化,建议在 Linux 环境下使用以获得最佳效果)。
  • Python 版本:Python 3.6 及以上版本。
  • 依赖包安装:运行工具前,请确保已安装必要的 Python 第三方库,主要包括:pymysqlpython-docxdocxtplparamikopsutilopenpyxl等。
  • MySQL 权限:用于巡检的数据库账户需要具备查询information_schemaperformance_schema以及mysql系统库相关表的权限。建议授予只读权限以保证安全。
  • SSH 权限(可选):若需采集远程主机的系统信息,请确保提供的 SSH 账户能够正常登录并执行基本系统命令(如topfreedflscpu等)。
四、使用说明
1. 启动程序

在终端或命令行中执行主脚本,程序将显示主菜单,提供四个选项:

  • 1:单机巡检
  • 2:批量巡检(从 Excel 导入)
  • 3:创建 Excel 配置模板
  • 4:退出
2. 单机巡检模式

选择菜单1后,根据提示依次输入:

  • MySQL 连接信息:主机、端口、用户名、密码、数据库标签(用于报告命名)。
  • SSH 连接信息(可选):若需采集系统资源,按提示输入 SSH 主机、端口、用户名及认证方式(密码或密钥文件)。若不配置,将仅采集数据库内部指标。

程序将自动连接验证、执行巡检并生成 Word 报告,报告默认保存在程序所在目录下的reports文件夹中。

3. 批量巡检模式
  • 步骤一:创建 Excel 配置模板
    首次使用批量功能时,选择菜单3生成一个名为mysql_batch_template.xlsx的配置文件模板。该模板包含详细的表头说明和示例数据。
  • 步骤二:填写模板
    打开 Excel 模板,在“MySQL数据库配置”工作表中逐行填写需要巡检的数据库信息,包括数据库标签、连接信息以及可选的 SSH 信息。填写完毕后保存文件。
  • 步骤三:执行批量巡检
    选择菜单2,程序将自动读取模板中的所有有效配置,并依次对每个实例执行巡检,最终在reports目录下生成对应的 Word 报告文件。
4. 报告查看

生成的 Word 报告可直接使用 Microsoft Word 或 WPS 等软件打开。报告结构包括:

  • 封面:展示数据库基本信息、巡检人员及报告时间。
  • 健康状态概览:总体评级及发现问题数量。
  • 系统资源检查:CPU、内存、磁盘的详细指标。
  • MySQL 配置检查:连接、内存、日志相关的关键参数。
  • 性能分析:QPS 参考、锁信息、异常连接。
  • 数据库信息:各库大小、当前活跃进程。
  • 安全信息:数据库用户列表。
  • 风险与建议:自动分析出的潜在问题及优化方向。
五、常见问题与注意事项
  1. 报告内容较少、缺失部分表格
    若生成的报告仅包含基础信息而缺失数据库大小、进程列表、用户列表等内容,通常是由于模板渲染兼容性问题自动切换到了备用渲染模式。此时备用模式会生成一份包含所有关键数据的详细报告,内容完整,不影响使用。

  2. 连接数据库失败

    • 请检查 MySQL 服务器是否允许远程连接,用户是否有相应权限。
    • 确认防火墙及安全组规则是否放行 MySQL 端口。
  3. 系统信息采集失败

    • 若使用 SSH 远程采集,请确保 SSH 服务正常运行,且提供的用户名密码或密钥正确。
    • 部分精简版 Linux 系统可能缺少lscputop命令,导致部分 CPU 信息显示为“未获取”,这属于正常情况。
  4. 密码安全
    Excel 模板中的密码以明文形式存储,请务必妥善保管配置文件,建议使用完毕后及时归档或删除。生产环境推荐使用密钥方式进行 SSH 认证。

  5. 报告生成位置
    所有报告默认输出至工具所在目录下的reports子文件夹中。若该文件夹不存在,程序会自动创建。

  6. 风险建议仅供参考
    工具内置的风险判断阈值基于通用最佳实践,实际业务场景中请结合具体负载情况进行综合评估。


代码地址:

https://github.com/Zhh9126/MySQLDBCHECK.git

欢迎大家star⭐!同时也欢迎大家优化,继续完善。

http://www.jsqmd.com/news/611914/

相关文章:

  • 告别报错,一文搞定金仓数据库Python驱动在Windows上的安装
  • std::unique_ptr 复习
  • 3秒获取百度网盘提取码:baidupankey工具让资源获取效率提升280%
  • 罗振宇、张鹏、王力行等齐聚一堂,AIFUT大会Day1上午场的全面总结来了。
  • 从“雇前可信”到“在职可控”:江湖背调如何定义国内最准确的背调数据标准
  • RTX 4090专属视觉工具:Qwen2.5-VL-7B-Instruct部署与使用全指南
  • Redis位图实战:用BITFIELD实现高效用户签到系统(附完整代码)
  • smart-doc实战:一键生成Postman集合与对接Torna文档平台完整流程
  • Perforce 静态分析现已正式支持 Rust语言
  • OpenClaw安全方案:百川2-13B-4bits本地模型处理敏感数据实战
  • 制造业企业怎样用好数据智能?聚焦排产、质检与能耗三大场景
  • 通义千问3-4B量化技巧:GGUF-Q4压缩后性能保持指南
  • Pixel Dimension Fissioner 教育领域创新:动态生成数据结构与算法可视化图
  • 比特学习编程C语言
  • 你的终端神器之Oh My Zsh汤
  • 轻松调整PPT比例的3步技巧,Rust 与 传统语言:现代系统编程的深度对比。
  • SGLang-v0.5.6应用:快速搭建智能客服对话系统
  • 效果展示:TranslateGemma翻译质量实测,法律技术文档翻译精准流畅
  • Qwen3-0.6B-FP8集成至Node.js服务:构建全栈JavaScript智能应用
  • 忍者像素绘卷部署案例:中小企业IP视觉化工具——微信小程序+私有化部署方案
  • 【数据积木·数据体系篇】四集之聚集篇(番外篇):指标、维度:从汉语拼音的“声韵组合”到数据世界的“语义表达”
  • 实验室DIY:用氢氧化钠溶液快速去除MOSFET封装(学生党必备)
  • 【Solar应急预警】开源智能体OpenClaw(小龙虾)内网暴露风险剖析与多维排查指南
  • 分享 种 .NET 桌面应用程序自动更新解决方案诼
  • Youtu-Parsing保姆级入门:上传图片自动识别文字、表格、公式
  • SeqGPT创意写作助手:激发创作灵感的5种用法
  • 2026年全域聚合支付前景如何?一文揭秘!
  • Cosmos-Reason1-7B效果展示:对‘为什么这个递归会栈溢出’提问,输出调用深度热力图分析
  • OpenClaw语音交互:Qwen3-4B对接语音输入输出模块
  • 使用Alpine配置WSL ssh门户还