在 Linux 中监控 MySQL 性能的四个有用的命令行工具

概述

监控mysql性能的工具有很多,好的工具是诊断myql性能瓶颈和排除服务器的利器。日常工作我们常常用到工具如zabbix(借助脚本或插件),Prometheus(本人工作中常用)、MONyog等。但在一些特殊情况下,这它们并不总是完美满足mysql开发人员或管理员的常见需求,或者在某些情况一下可能无法正常工作。令人兴奋的是mysql社区创建了各种开源工具来填补这些空白。今天分享4个命令行工具来监控Linux中mysql数据库正常运行时间、负载和性能。

一 、Mytop

Mytop是开源和免费的基于命令行的MySQL数据库监控工具之一,由Jereme Zawodny使用Perl语言编写。Mytop 在终端中运行,显示有关线程、查询、慢查询、正常运行时间、负载等的统计信息,与 Linux监控命令top非常相似。这间接帮助管理员优化和提高 MySQl 的性能以处理大量请求并减少服务器负载。

mytop提供了多种系统的安装包,如centos、arch linux、opensuse等。

1、 安装方法

$ sudoapt installmytop #Debian/Ubuntu
# yum install mytop #RHEL/CentOS
# dnf install mytop #Fedora 22+
# pacman -S mytop #Arch Linux
# zypper in mytop #openSUSE

2、如何使用 Mytop 监控 MySQL/MariaDB

Mytop需要MySQL/MariaDB登录凭据来监控数据库并默认使用 root 用户名连接到服务器。您可以在运行时在命令行上或在文件中指定连接到数据库服务器的必要选项~/.mytop。

只需运行以下命令即可启动mytop并在出现提示时提供您的MySQL/MariaDB root 用户密码。这将默认连接到测试数据库。

# mytop --prompt

输入 MySQL root 密码后,您将看到Mytop监控,如下所示。

如果您想监视特定数据库,只需要加选项-d即可,如下图所示:

# mytop --prompt -d xuanyuan

如果你的每个数据库都有特定的管理员,只需要指定连接数据的用户名和密码即可。

mytop -uadmin -ppassword_here -dtdb

在命令行界面指定明文密码还是有一定的安全隐患,为了避免这样的安全风险,*我们可以使用配置文件~/.mytop来指定连接到数据库的选项。

# vi ~/.mytop

user=root
pass=password_here
host=localhost
db=test
delay=4
port=3306
socket=

二、mtop

mtop (MySQL top) 是另一个类似的开源、基于命令行的实时 MYSQL Server 监控工具,它是用Perl语言编写的,它显示的结果与mytop类似。mtop 监控花费最多时间完成的 MySQL 查询,并在特定指定时间后终止那些长时间运行的查询。

此外,mtop正在运行的查询和终止查询的查询优化器信息,它还显示服务器的统计信息、配置信息和一些有用的调优技巧,以优化和提高MySQL 性能但不幸的是mtop没有得到积极维护,可能无法在新安装的 MySQL 版本上运行。

功能:

  1. 显示实时 MySQL 服务器查询。
  2. 提供 MySQL 配置信息。
  3. 显示过程查询的缩放功能。
  4. 为查询和“杀死”查询提供查询优化器信息。
  5. 提供 MySQL 调优技巧。
  6. 能够将输出保存在.mtoprc配置文件中。
  7. 提供系统管理员推荐页面 (‘ T ‘)。
  8. 向主标题添加查询/秒。
  9. 将每秒信息添加到统计屏幕。

三、Innotop

Innotop另一个不错的基于命令行的mysql监控工具,它用于监控在InnoDB引擎下运行的本地和远程 MySQL 服务器。Innotop 包含许多功能并带有不同类型的模式/选项,这有助于我们监控 MySQL 性能的各个方面,以找出 MySQL 服务器出了什么问题。

1、 安装 Innotop(MySQL 监控)

默认情况下, innotop包不包含在 Linux 发行版中,例如RHEL、CentOS、Fedora和Scientific Linux。您需要通过启用第三方epel 存储库并使用 yum 命令来安装它,如下图所示:

# yum install innotop

要启动innotop,只需在命令行中键入“ innotop ”并分别指定选项-u(用户名)和-p(密码),然后按 Enter。

# innotop -u root -p 'tcm1nt'

2、Innotop 帮助

按“ ?” 获取命令行选项和用法的摘要。


A DashboardI InnoDB I/O InfoQ QueryList
B InnoDBBuffers KInnoDB LockWaits RInnoDB RowOps
C L LocksS Variables&Status
D InnoDBDeadlocks MReplication StatusT InnoDBTxns
F InnoDBFK ErrO U

d p innotop
k q 退innotop
n x

TAB /
=
# 选择/创建服务器组 @ 选择/创建服务器连接
$ \

四、 mysqladmin

mysqladmin是一个默认的命令行 MySQL 客户端,预装在 MySQL 软件包,用于执行管理操作,例如监控进程、检查服务器配置、重新加载权限、当前状态、设置 root 密码、更改 root 密码、创建/删除数据库等。

要检查 mysql 状态以及正常运行时间,请从终端运行以下命令,请确保你有root的权限。

[root@localhost~]# mysqladmin -u root -p version

小结

mysql是最常见的一种轻量型数据库,也是目前在市面上应用最广泛的一种数据库,所以懂得几个mysql的调优工具非常必要,我个人比较推荐mytop和innotop。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/225505.html<

(0)
运维的头像运维
上一篇2025-04-16 22:36
下一篇 2025-04-16 22:37

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注