MySQL一条命令生成数据库巡检报告,省时省力!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

一条命令就能搞定MySQL巡检报告?虽然有些夸大其词了,不过从MySQL 5.7 开始,官方就提供了一个存储过程 sys.diagnostics ,确实只需一条命令,就可以帮助我们收集数据库的信息。以便于数据库出现问题时,有助于问题的分析。

diagnostics() 存储过程是利用 MySQL 自身的 information_schema,performance_schema、sys 等元数据信息及性能数据信息的库表函数等,对当前服务器状态进行诊断,提供给 DBA 一份可以用于分析数据库状态的报告。

使用介绍

sys.diagnostics 该存储过程有三个重要参数,in_max_runtime、in_interval、in_auto_config。

in_max_runtime: 总共最大收集时间,单位秒,null 为默认值60秒;
in_interval:快照间的间隔时间,单位秒,null为默认30秒;
in_auto_config: Performance Schema的选项分析current\medium\full, 使用的选项指标越全,对MySQL服务的性能影响越大,FULL的影响最大。

使用方式1

将输出内容保存到文本文件,如收集2分钟的一个报告,每次间隔30秒

mysql> tee diag.out;
mysql> CALL sys.diagnostics(120, 30, 'current');
mysql> notee;

可以打开diag.out文件,查看内容
image.png

使用方式2

用mysql命令导出为HTML格式如:

mysql -h127.0.0.1 -P3306 -uroot -p -H -e "CALL sys.diagnostics(1, 1, 'current')" > /tmp/report_$(date +"%Y-%m-%d_%H-%M").html

用浏览器打开生成的html文件即可查看,生成的html没有样式,看起来是会比较丑,跟oracle比,还是差了不少,希望后续有改进吧!

image.png

报告的主要信息

报告的信息还是不少的,常见的基本信息都有,如:

  • MySQL服务器基本信息
+-------------------------+---------------------------------------------+
| Name                    | Value                                       |
+-------------------------+---------------------------------------------+
| Hostname                | PC-202009221536                             |
| Port                    | 3306                                        |
| Socket                  | MySQL                                       |
| Datadir                 | C:\ProgramData\MySQL\MySQL Server 5.7\Data\ |
| Server UUID             | e1b9d4d3-a259-11ee-977d-00ff08e7b10a        |
| ----------------------- | ------------------------------------------- |
| MySQL Version           | 5.7.43-log                                  |
| Sys Schema Version      | 1.5.2                                       |
| Version Comment         | MySQL Community Server (GPL)                |
| Version Compile OS      | Win64                                       |
| Version Compile Machine | x86_64                                      |
| ----------------------- | ------------------------------------------- |
| UTC Time                | 2024-10-09 13:03:29                         |
| Local Time              | 2024-10-09 21:03:29                         |
| Time Zone               | +08:00                                      |
| System Time Zone        |                                             |
| Time Zone Offset        | 08:00:00                                    |
+-------------------------+---------------------------------------------+
17 rows in set (0.01 sec)
  • 参数配置

image.png

  • SHOW MASTER STATUS、SHOW ENGINE INNODB STATUS、sys.processlist

image.png

image.png

  • Overall状态信息

image.png

还有其他很多信息,就不再一一列出了,有兴趣的,可以直接生成一个自己看看。

关注我,学习更多的数据库知识!
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老苏畅谈运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值