首页 > 数据库 >MySQL命令行监控工具 - mysqlstat

MySQL命令行监控工具 - mysqlstat

时间:2023-10-12 14:14:01浏览次数:40  
标签:shell -- 6666 mysqlstat 192.168 hechunyang 命令行 MySQL

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

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

以下是 mysqlstat 工具的主要功能:


  • 实时监控:mysqlstat 可以实时监控 MySQL 服务器的 QPS(每秒查询数)、TPS(每秒事务数)以及网络带宽使用情况等指标。
  • 查询分析:它可以展示执行次数最频繁的前N条 SQL 语句,帮助定位查询效率低下的问题,以便进行优化。
  • 表文件分析:mysqlstat 可以列出访问次数最频繁的前N张表文件(.ibd),这有助于查找热点表和磁盘使用情况。
  • 锁阻塞:工具可以显示当前被锁阻塞的 SQL 语句,帮助识别并解决锁相关的问题。
  • 死锁信息:mysqlstat 可以提供关于死锁的信息,帮助 DBA 了解并解决死锁问题。
  • 索引分析:它可以查找重复或冗余的索引,帮助优化索引使用和减少存储空间的占用。
  • 连接数统计:工具可以统计应用端 IP 的连接数总和,有助于了解数据库的连接负载情况。
  • 表大小统计:mysqlstat 可以提供库中每个表的大小统计信息,有助于了解表的存储占用情况。
  • Binlog 分析:它可以在高峰期分析哪些表的 TPS 较高,帮助定位性能瓶颈或优化热点表。
  • 查看主从复制信息:工具可以提供主从复制状态和延迟情况,方便监控和管理主从复制环境。

MySQL命令行监控工具 - mysqlstat
https://github.com/hcymysql/mysqlstat


options:
  -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  N             需要提供一个整数类型的参数值,该参数值表示执行次数最频繁的前N条SQL语句
  --io  N               需要提供一个整数类型的参数值,该参数值表示访问次数最频繁的前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'

image

  • 执行次数最频繁的前10条SQL语句
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --top 10

image

  • 访问次数最频繁的前10张表文件ibd
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --io 10

image

  • 查看当前锁阻塞的SQL
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --lock

image

  • 查看重复或冗余的索引
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --index

image

  • 查看应用端IP连接数总和
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --conn

image

  • 统计库里每个表的大小
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --tinfo

image

  • 查看死锁信息
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --dead

image

  • Binlog分析-高峰期排查哪些表TPS比较高
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --binlog mysql-bin.000003

image

  • 查看主从复制信息
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --repl

image

 注:支持 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)



标签:shell,--,6666,mysqlstat,192.168,hechunyang,命令行,MySQL
From: https://www.cnblogs.com/hcymysql/p/17759319.html

相关文章

  • nacos开机自启无法连接上本机的Mysql
    nacos和mysql处于同一台服务器的情况下才会遇到我说的这个问题。一、遇到的问题如下:nacos在设置了开机自启动脚本/usr/lib/systemd/system/nacos.service,并且设置了systemctlenablenacos。mysql给nacos使用的用户开启了%和localhost均可连接的权限。这种情况下,nacos开机自......
  • 记一次MySQL数据库恢复
    1、恢复步骤概要备份frm、ibd文件如果mysql版本发生变化,安装回原本的mysql版本创建和原本库名一致新库,字符集都要保持一样通过frm获取到原先的表结构,通过的得到的表结构创建一个和原先结构一样的空表。使用“ALTERTABLEDISCARDTABLESPACE;”命令卸载掉表空间将原先的ibd拷贝到my......
  • 面试官:MySQL数据查询太多会OOM吗
    我的主机内存只有100G,现在要全表扫描一个200G大表,会不会把DB主机的内存用光?逻辑备份时,可不就是做整库扫描吗?若这样就会把内存吃光,逻辑备份不是早就挂了?所以大表全表扫描,看起来应该没问题。这是为啥呢?1、全表扫描对server层的影响假设,我们现在要对一个200G的InnoDB表db1.t,执行一个......
  • 专治 MySQL 乱码, 再也不想看到�了
    1、MySQL编码过程MySQL出现乱码的原因有很多,一般与character_set参数有关。我们先来看看有哪些参数:SHOWVARIABLESLIKE"character%";Variable_nameValuecharacter_set_clientutf8character_set_connectionutf8character_set_databaseutf8character_set_filesystembinar......
  • MySQL 定时备份数据库
    在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库。本篇文章主要讲述了几种方法进行MySQL定时备份数据库。1、mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据......
  • 基于 MySQL 和 DynamoDB 的强一致性分布式事务实践
    在单体应用向微服务架构转型的过程中,本地事务已不再满足系统一致性需求,为了解决这一问题,前人在对性能和数据一致性反复权衡的过程中总结了许多典型的协议和算法,各有优劣。本文我们将深入探讨Freewheel如何实现无单点故障的可扩展分布式事务实现模型。1、为什么需要分布式事务?当应......
  • 技术分享| 二进制部署MySQL
    一、介绍​MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。​MySQL是一种关系型数据......
  • 技术分享| 二进制部署MySQL
    一、介绍​MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。​MySQL是一种关系型数据......
  • Rust命令行解析程序:Clap
    Rust命令行解析程序:Clap基于Clap4.4.6参考资料:Clap官方手册Chapter1配置解析器使用Command结构体的new方法构建解析器://arg.exeuseclap::{arg,Command};fnmain(){//只要调用clap解析命令行参数,--help和--version会自动添加到命令行参数列表中//使用ar......
  • mysql复制数据库,数据库排序规则不一致问题
    mysql复制数据库步骤1.导出数据库sql文件mysqldump数据库名-h数据库地址-P数据库端口(3306可省略)-u账号-p密码--add-drop-table>/路径/sql文件名.sql 2.确认导出和导入数据库编码和排序规则是否一致showglobalvariableslike'%coll%'showglobalvariabl......