使用工具分析mysql性能

关于MySQL调优的事,基于实际工作负载、慢查询日志和监控指标分析,调整后用 SHOW VARIABLESSHOW GLOBAL STATUS 验证效果

可使用工具辅助调优:

  1. MySQLTuner
  2. Percona Toolkit

MySQLTuner 和 Percona Toolkit  这两个工具都是运维和 DBA 常用的 MySQL 性能分析与优化工具,可以帮助你快速发现配置不合理、SQL 慢、内存不足等问题。

1. 介绍MySQLTuner

MySQLTuner 是一个 Perl 编写的轻量脚本工具,用于对运行中的 MySQL 实例做健康检查并给出优化建议(非自动修改,只建议)

安装方式:

wget http://mysqltuner.pl/ -O mysqltuner.pl
chmod +x mysqltuner.pl

或者:

sudo apt install mysqltuner # Debian/Ubuntu
sudo yum install mysqltuner # RHEL/CentOS(需要 EPEL)

使用方式:

perl mysqltuner.pl

或者加上登录信息

perl mysqltuner.pl --user=root --pass=你的密码

输出内容示例:

  • 服务器运行时间、MySQL 版本

  • 当前连接数、线程使用、缓存命中率

  • 慢查询、临时表使用、索引使用率

  • 建议调整的参数:如 innodb_buffer_pool_size 太小、query_cache 建议关闭等

注意:

  • 运行前最好让 MySQL 跑一段时间(几个小时或几天),否则数据不准确

  • 建议用在 生产环境运行稳定后 做分析

在云上 MySQL(如阿里云 RDS、腾讯云 MySQL、AWS RDS 等)环境中,使用 mysqltuner.pl 工具会有一些使用限制,因为你无法直接登录主机去执行 Perl 脚本。但你仍然可以通过远程连接方式使用它分析数据库性能。

云上 MySQL 使用 mysqltuner 的方法:

准备一台可以联网的 Linux 主机或本地电脑

你可以在:

  • 云服务器 ECS / CVM(与 RDS 同区域网络)

  • 本地开发机(需能连通 RDS 的外网/内网地址)

使用数据库账号连接(一般是 root 或具有 SHOW STATUS, SHOW VARIABLES 等权限的只读账号)

perl mysqltuner.pl --host=<RDS地址> --user=<用户名> --pass=<密码> --port=<端口>

例如:

perl mysqltuner.pl --host=rm-bp12345678.mysql.rds.aliyuncs.com --user=readonly --pass=xxx123 --port=3306

注意事项:

  • 如果你是阿里云/腾讯云 RDS,确保:

    • 开启了白名单或安全组放行你所在 IP

    • 用户权限满足 SHOW VARIABLES, SHOW STATUS(建议授予 SELECT 也行)

注意事项:

  • 如果你是阿里云/腾讯云 RDS,确保:

    • 开启了白名单或安全组放行你所在 IP

    • 用户权限满足 SHOW VARIABLES, SHOW STATUS(建议授予 SELECT 也行)

手动执行sql采集指标

SHOW GLOBAL STATUS LIKE 'Threads_connected';
SHOW GLOBAL STATUS LIKE 'Connections';
SHOW GLOBAL STATUS LIKE 'Aborted_connects';
SHOW GLOBAL STATUS LIKE 'Slow_queries';
SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW GLOBAL VARIABLES LIKE 'max_connections';

 

2. Percona Toolkit 使用方法

Percona Toolkit 是一套功能非常强大的工具集合,支持:

  • 慢查询日志分析(pt-query-digest

  • 主从延迟监控(pt-heartbeat

  • 表结构对比(pt-table-checksum

  • 数据同步修复(pt-table-sync

安装方式:

# Debian / Ubuntu
sudo apt install percona-toolkit

# RHEL / CentOS
sudo yum install percona-toolkit

常用命令示例:
1. 分析慢查询日志
pt-query-digest /var/log/mysql/slow.log
输出内容包括:

最慢/最频繁/最占时间的 SQL

每条 SQL 的总耗时、平均耗时、执行次数

可以定位具体表、语句是否有索引问题

2. 检查主从是否一致(主备一致性)
pt-table-checksum --host=master_host --user=root --password=xxx
3. 修复主从数据不一致
pt-table-sync --execute --replicate=percona.checksums --sync-to-master h=slave_host,u=root,p=xxx
总结对比:
工具 主要用途 特点 建议使用场景
MySQLTuner 优化建议检查 简单快速、非侵入式 每周/每月跑一次,健康体检
Percona Toolkit 深度分析工具集 专业级、功能强大 性能分析、慢SQL、主从一致性检查

 

posted @ 2025-06-12 16:51  羊脂玉净瓶  阅读(22)  评论(0)    收藏  举报