基于Python实现用于实时监控和分析 MySQL 服务器的性能指标和相关信息工具源码

MySQL命令行监控工具 - mysqlstat 介绍

mysqlstat 是一个命令行工具,用于实时监控和分析 MySQL 服务器的性能指标和相关信息。
它可以帮助 DBA(数据库管理员)和开发人员定位和解决数据库性能问题。
以下是 mysqlstat 工具的主要功能:
  • 实时监控:mysqlstat 可以实时监控 MySQL 服务器的 QPS(每秒查询数)、TPS(每秒事务数)以及网络带宽使用情况等指标。
  • 查询分析:它可以展示执行次数最频繁的前N条 SQL 语句,帮助定位查询效率低下的问题,以便进行优化。
  • 表文件分析:mysqlstat 可以列出访问次数最频繁的前N张表文件(.ibd),这有助于查找热点表和磁盘使用情况。
  • 锁阻塞:工具可以显示当前被锁阻塞的 SQL 语句,帮助识别并解决锁相关的问题。
  • 自动杀死当前锁阻塞的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_IPMysql IP-P MYSQL_PORT, --mysql_port MYSQL_PORTMysql Port-u MYSQL_USER, --mysql_user MYSQL_USERMysql User-p MYSQL_PASSWORD, --mysql_password MYSQL_PASSWORDMysql Password--top  N              需要提供一个整数类型的参数值,该参数值表示执行次数最频繁的前N条SQL语句--io  N               需要提供一个整数类型的参数值,该参数值表示访问次数最频繁的前N张表文件ibd--lock                查看当前锁阻塞的SQL--kill                杀死当前锁阻塞的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> #杀死当前锁阻塞的SQL
shell> ./mysqlstat -H 192.168.198.239 -P 6666 -u admin -p 'hechunyang' --lock --kill

在这里插入图片描述

  • 查看重复或冗余的索引
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';
mysql> GRANT ALL on *.* to 'rd'@'%';

完整代码下载地址:实时监控和分析 MySQL 服务器的性能指标和相关信息工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/157212.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

案例研究|北京交通大学基于DataEase开展多场景校园数据分析与展示

北京交通大学是教育部直属,教育部、交通运输部、北京市人民政府和中国国家铁路集团有限公司共建的全国重点大学,是国家“211工程”“985工程优势学科创新平台”“双一流”建设高校。 多年来,北京交通大学积极发挥信息技术赋能学校人才培养、…

常见的幂等性保障方案

数据幂等性是指相同的操作在不同时间执行多次所产生的结果是一样的,它是保证操作的可靠性和正确性的重要标准。 使用幂等性是必要的,因为同一操作经常会被重复执行。当多次执行相同的操作时,如果没有幂等性,会产生不可预料的结果…

基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例)

基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例) 工程: Keil工程资源 参考资料: A121 datasheet 1.3 A121 HAL Software Integration User Guide A121 STM32CubeIDE User Guide 官方参考示例工程&a…

Android 10-13鼠标右键返回功能适配

Android 10-13鼠标右键返回功能适配 文章目录 Android 10-13鼠标右键返回功能适配一、前言二、鼠标右键适配修改1、Android 10 以及更低版本2、Android11 或者更高版本三、总结1、鼠标右键返回功能修改主要代码2、标右键返回修改代码系统源码搜索3、其他 一、前言 Android 原生…

MySQL安全性:用户认证、防范SQL注入和SSL/TLS配置详解

MySQL作为广泛使用的关系型数据库管理系统,安全性至关重要。在本篇技术博客中,我们将深入探讨MySQL的用户认证方式、防范SQL注入攻击的方法以及SSL/TLS加密的配置。 1. MySQL用户认证方式 MySQL支持多种用户认证方式,其中两种常见方式是cac…

Logstash同步MySQL数据到ES

简介 1.1 什么是Logstash? Logstash作为一个具备实时流水线功能的开源数据收集引擎,拥有强大的能力。它能够从不同来源收集数据,并将其动态地汇聚,进而根据我们定义的规范进行转换或者输出到我们定义的目标地址。 1.2 Logstash的…

水果音乐制作软件FL Studio21.2中文版新功能介绍

FL Studio21.2中文版,一般又称水果音乐制作软件。 FL Studio 21.2简称FL,全称FruityLoopsStudio,因此国人习惯叫它"水果"。它让你的计算机就像是全功能的录音室,大混音盘,非常先进的制作工具,让…

docker 安装kkFileView教程

kkFile 官方参考文档 https://kkfileview.keking.cn/zh-cn/docs/production.html拉取kkFileView 镜像 docker pull keking/kkfileview启动容器 docker run -it -d -p 8012:8012 keking/kkfileview --restart always进入首页 浏览器访问容器8012端口http://ip :8012即可看到…

MySQL数据库事务隔离级别与性能监控

MySQL作为一款广泛使用的关系型数据库管理系统,在保障数据一致性和性能的同时,提供了丰富的事务隔离级别和性能监控工具。本文将深入探讨MySQL的事务隔离级别以及如何查看MySQL的运行状态和性能统计信息。 1. 数据库事务的隔离级别 1.1 什么是事务隔离…

练习7-在Verilog中使用任务task

在Verilog中使用任务task 1,任务目的2,RTL代码,交换3,测试代码4,波形显示 1,任务目的 (1)掌握任务在verilog模块设计中的应用; (2)学会在电平敏感…

②【Hash】Redis常用数据类型:Hash [使用手册]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Redis Hash ②Redis Hash 操作命令汇总1. hset…

U4_1:图论之DFS/BFS/TS/Scc

文章目录 一、图的基本概念二、广度优先搜索(BFS)记录伪代码时间复杂度流程应用 三、深度优先搜索(DFS)记录伪代码时间复杂度流程时间戳结构BFS和DFS比较 四、拓扑排序一些概念有向图作用拓扑排序 分析伪代码时间复杂度彩蛋 五、强…

使用 ClickHouse 做日志分析

原作:Monika Singh & Pradeep Chhetri 这是我们在 Monitorama 2022 上发表的演讲的改编稿。您可以在此处找到包含演讲者笔记的幻灯片和此处的视频。 当 Cloudflare 的请求抛出错误时,信息会记录在我们的 requests_error 管道中。错误日志用于帮助解…

【DevOps】Git 图文详解(六):Git 利器 - 分支

Git 利器 - 分支 1.分支 Branch2.分支指令 &#x1f525;3.分支的切换 checkout4.合并 merge & 冲突4.1 &#x1f538; 快速合并&#xff08;Fast forward&#xff09;4.2 &#x1f538; 普通合并4.3 处理冲突 <<<<<<< HEAD 5.变基 rebase 分支是从主…

linux rsyslog综合实战2

本次我们通过rsyslog服务将A节点服务器上的两个(E.g:多个日志也可以)日志(Path:/var/log/245-1.log、245-2.log)实时同步到B节点服务器目录下(Path:/opt/rsyslog/245) 1.rsyslog架构 2.环境信息 环境信息 HostnameIpAddressOS versionModuleNotersyslog1192.168.10.245CentOS…

2023 最新 PDF.js 在 Vue3 中的使用(长期更新)

因为自己写业务要定制各种 pdf 预览情况&#xff08;可能&#xff09;&#xff0c;所以采用了 pdf.js 而不是各种第三方封装库&#xff0c;主要还是为了更好的自由度。 一、PDF.js 介绍 官方地址 中文文档 PDF.js 是一个使用 HTML5 构建的便携式文档格式查看器。 pdf.js 是社区…

基于51单片机音乐盒LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)

基于51单片机音乐盒LCD1602显示( proteus仿真程序原理图设计报告讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0065 音乐盒 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真…

【Qt6】字符串std::string转成Qt6的字符串QString,并输出日志

【Qt6】字符串std::string转成Qt6的字符串QString&#xff0c;并输出日志&#xff1a; std::string m_name;QString qStrName QString::fromLocal8Bit(m_name);qDebug("name %s", qPrintable(dataSourceID)); 【注意】&#xff1a; 需要用QString::fromLocal8Bit()…

Polygon Miden VM架构总览

1. 计算类型 Programs程序有2种类型&#xff1a; 1&#xff09;Circuit电路&#xff1a;即&#xff0c;程序即电路。将程序转换为电路。2&#xff09;Virtual machine虚拟机&#xff1a;即&#xff0c;程序为电路的输入。【Miden VM属于此类型】 2. 何为ZK virtual machine…

探索 Material 3:全新设计系统和组件库的介绍

探索 Material 3&#xff1a;全新设计系统和组件库的介绍 一、Material 3 简介1.1 Material 3 的改进和更新1.2 Material 3 的优势特点 二、Material 3 主题使用2.1 使用 Material3 主题2.2 使用 Material3 主题颜色 三、Material 3 组件使用3.1 MaterialButton&#xff1a;支持…