dba+开源工具:实时监控和分析MySQL服务器性能指标的命令行工具(附下载)

贺春旸 2023-10-17 11:04:35
工具研发者介绍

贺春旸,dbaplus社群金牌专家,凡普金科和爱钱进DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一&二版、《MySQL运维进阶指南》作者,曾任职于中国移动飞信、安卓机锋网。五次荣获dbaplus年度MVP,致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。

工具下载:

https://github.com/hcymysql/mysqlstat

 

mysqlstat工具简介
 
 

 

 

mysqlstat 是一个命令行工具,用于实时监控和分析 MySQL 服务器的性能指标和相关信息。

 

它可以帮助 DBA(数据库管理员)和开发人员定位和解决数据库性能问题。

 

主要功能

 

 

实时监控:mysqlstat 可以实时监控 MySQL 服务器的 QPS(每秒查询数)、TPS(每秒事务数)以及网络带宽使用情况等指标。

 

查询分析:它可以展示执行次数最频繁的前N条 SQL 语句,帮助定位查询效率低下的问题,以便进行优化。

 

表文件分析:mysqlstat 可以列出访问次数最频繁的前N张表文件(.ibd),这有助于查找热点表和磁盘使用情况。

 

锁阻塞:具可以显示当前被锁阻塞的 SQL 语句,帮助识别并解决锁相关的问题。

 

死锁信息:mysqlstat 可以提供关于死锁的信息,帮助 DBA 了解并解决死锁问题。

 

索引分析:它可以查找重复或冗余的索引,帮助优化索引使用和减少存储空间的占用。

 

连接数统计:工具可以统计应用端 IP 的连接数总和,有助于了解数据库的连接负载情况。

 

表大小统计:mysqlstat 可以提供库中每个表的大小统计信息,有助于了解表的存储占用情况。

 

Binlog 分析:它可以在高峰期分析哪些表的 TPS 较高,帮助定位性能瓶颈或优化热点表。

 

查看主从复制信息:工具可以提供主从复制状态和延迟情况,方便监控和管理主从复制环境。

 

原理

 

图片

 

演示

 

https://www.douyin.com/video/7288887720057851151

 

使用

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
MySQL命令行监控工具 - mysqlstatoptions:  -h, --help            show this help message and exit  -H MYSQL_IP, --mysql_ip MYSQL_IP                        Mysql IP  -P MYSQL_PORT, --mysql_port MYSQL_PORT                        Mysql Port  -u MYSQL_USER, --mysql_user MYSQL_USER                        Mysql User  -p MYSQL_PASSWORD, --mysql_password MYSQL_PASSWORD                        Mysql Password  --top TOP             需要提供一个整数类型的参数值,该参数值表示执行次数最频繁的前N条SQL语句  --io IO               需要提供一个整数类型的参数值,该参数值表示访问次数最频繁的前N张表文件ibd  --lock                查看当前锁阻塞的SQL  --dead                查看死锁信息  --index               查看重复或冗余的索引  --conn                查看应用端IP连接数总和  --tinfo               统计库里每个表的大小  --binlog              Binlog分析-高峰期排查哪些表TPS比较高  --repl                查看主从复制信息  -v, --version         show program's version number and exit

 

  • 实时监控mysql服务器的QPS、TPS、网络带宽指标(默认不加参数选项)

 

  •  
  •  
  •  
shell> chmod 755 mysqlstat  shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang'

 

图片

 

  • 执行次数最频繁的前10条SQL语句

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --top 10

 

图片

 

  • 访问次数最频繁的前10张表文件ibd

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --io 10

 

图片

 

  • 查看当前锁阻塞的SQL

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --lock

 

图片

 

  • 查看重复或冗余的索引

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --index

 

图片

 

  • 查看应用端IP连接数总和

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --conn

 

图片

 

  • 统计库里每个表的大小

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --tinfo

 

图片

 

  • 查看死锁信息

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --dead

 

图片

 

  • Binlog分析-高峰期排查哪些表TPS比较高

 

  •  
  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --binlog mysql-bin.000003

 

图片

 

或者指定一个binlog范围

 

  •  
  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --binlog mysql-bin.000003  mysql-bin.000006

 

会统计mysql-bin.000003,mysql-bin.000004,mysql-bin.000005,mysql-bin.000006这4个文件

 

图片

 

  • 查看主从复制信息

 

  •  
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --repl

 

图片

 

支持 MySQL5.7/8.0,工具适用于Centos7 系统。

 

8.0默认是caching_sha2_password用户认证,需要更改为 mysql_native_password

 

  •  
  •  
  •  
mysql> CREATE USER 'rd'@'%' IDENTIFIED WITH mysql_native_password BY '123456';Query OK, 0 rows affected (0.00 sec)mysql> GRANT ALL on *.* to 'rd'@'%';

 

下载方式

 

此工具现通过dbaplus社群免费为大家提供下载使用。若使用过程中有任何问题或建议,可随时与我们联系,欢迎大家试用。

 

登录以下链接即可下载:
https://github.com/hcymysql/mysqlstat

 

更多开源工具&脚本下载

 

图片

 
更多开源工具及脚本获取方式:
  • 关注微信公众号【dbaplus社群】,点击菜单栏【资源下载】
  • 登陆dbaplus社群官网:http://dbaplus.cn/list-142-1.html
 
>>>>
 

相关图谱推荐 - 分布式数据库评测指南

 

dbaplus图谱丨分布式数据库的选型评测指南(附高清电子版)

《分布式数据库评测指南》由dbaplus社群联合发起人韩锋老师与社群共同编制,浓缩了数据库选型评测项精要,评测维度覆盖6大功能(数据库基本功能、数据库内核功能、数据库管理功能、数据库架构功能、数据库开发功能、数据库其他功能)共300+技术项,明晰数据库选型要点及设计思路,让广大数据库从业者在选型路上不再迷茫。

 
获取方式:关注微信公众号【dbaplus社群】,消息栏回复【图谱】,即可获取下载链接
最新评论
访客 2023年08月20日

230721

访客 2023年08月16日

1、导入Mongo Monitor监控工具表结构(mongo_monitor…

访客 2023年08月04日

上面提到: 在问题描述的架构图中我们可以看到,Click…

访客 2023年07月19日

PMM不香吗?

访客 2023年06月20日

如今看都很棒

活动预告