› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
hcymysql
V2EX  ›  MySQL

MySQL 命令行监控工具 - mysqlstat

  •  
  •   hcymysql ·
    hcymysql · Nov 9, 2023 · 2025 views
    This topic created in 1055 days ago, the information mentioned may be changed or developed.

    mysqlstat 是一个命令行工具,用于实时监控和分析 MySQL 服务器的性能指标和相关信息。 它可以帮助 DBA (数据库管理员)和开发人员定位和解决数据库性能问题。

    https://github.com/hcymysql/mysqlstat

    以下是 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'

    执行次数最频繁的前 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

    查看主从复制信息
    

    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)

    hcymysql
        1
    hcymysql  
    OP
       Nov 24, 2023
    2023-11-24 更新:mysqlstat 工具版本号: 1.0.12 - 修复 binlog 统计 BUG
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   976 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 18:54 · PVG 02:54 · LAX 11:54 · JFK 14:54
    ♥ Do have faith in what you're doing.