|
|
51CTO旗下网站
|
|
移动端

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

有一些数据库程序员,他们总是可以拿着996的薪水,干着955的活,是什么提高了DBA的“生产力”呢?今天小编就同大家分享一些在MySQL优化工作中实用的PT工具,帮你达到事半功倍!

作者:老王谈运维来源:今日头条|2019-06-03 05:03

在DBA的日常工作有很多事情,比如:在线更改数据表结构,校验主从数据,检查数据库状态,分析慢查询,如果人工去完成做起来真的很麻烦,很费时,足以让你达到996!

但是有一些数据库程序员,他们总是可以拿着996的薪水,干着955的活,是什么提高了DBA的“生产力”呢?

是科技推动了生产力!

今天小编就同大家分享一些在MySQL优化工作中实用的PT工具,帮你达到事半功倍!

Percona Toolkit简称 pt 工具,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、分析慢日志、在线DDL等。

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

PT安装

  1. sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm 
  2. yum list | grep percona-toolkit 

安装好PT,接下来介绍一些实用的PT工具以及它们使用的使用吧~

1. pt-duplicate-key-checker

说明:此工具主要用来检查表的重复索引,并给出相关的建议。

  1. pt-duplicate-key-checker -h 127.0.0.1 -u root -p 123456 -d xuanyuan -t rs_hc_status  
  • h:指定要检查的host
  • u:数据库的用户名
  • p:数据库的密码
  • d:要检查的数据库的名称
  • t:要检查的表

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

2. pt-kill

pt-kill 是一个简单而且很实用的查杀mysql线程和查询的工具,主要是为了防止一些大/复杂/长时间查询占用数据库及系统资源,而对线上业务造成影响的情况。

说明如下:

(1) 匹配processlist的查杀线程或者会话的重要参数 举几个匹配例子如下:

  • 按照命令command查杀线程
    1. --match-command多个command之间用 | 分隔,否则会失效。  
  • 按state 来杀掉线程
  • 按info关键字来查杀线程测试通过按info来杀掉线程,注意info的内容一定要严格匹配大小写,否则会杀不掉。
  • 按照访问来源host/ip查杀线程
    1. --ignore-host/--match-host  
  • 按照DB来查杀线程
    1. --ignore-db/--match-db 
  • 按照数据库用户
    1. --ignore-user/--match-user 

(2) 行为参数 Action:

  • kill 杀掉连接并且退出
  • kill-query 只杀掉连接执行的语句,但是线程不会被终止
  • print 打印满足条件的语句

(3) 其它重要参数

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

(4) 常用使用如下:

每10秒检查一次,发现有sleeping的进程就给干掉

  1. pt-kill --match-command Sleep --victims all --interval 10 --host=localhost --port=3306 --user=root --password=********* --kill --print -S 

澳门新濠天地平台使用参考下图:

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

3. pt-mysql-summary

查询mysql的概要信息。

  1. pt-mysql-summary --host 127.0.0.1 --user root --password 123456 ; 

参数说明:

  • host:指定host 地址
  • user:指定连接数据库的用户名
  • password:指定连接数据库的密码

输出内容分析:

简要信息:主要包括mysql启动时间、版本、数据目录,连接数,主从信息。

  • processlist信息
  • mysql状态相关信息
  • Table cache
  • InnoDB信息
  • Variables参数变量信息
  • Configuration File

4. pt-query-digest

​ pt-query-digest主要用来分析mysql慢日志。

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

5. pt-table-checksum校验与pt-table-sync修复数据

  • pt-table-checksum与pt-table-sync,通常两个结合起来使用,前者主要用于数据的校验,验证主从是否一致;后者主要用来修复数据,两者一般情况结合起来用可以修复数据不一致的问题。
  • pt-table-checksum验证主从数据一致性的工具,当有捕获到不一致问题的时候,就会返回一个非0的结果。但是他只能查找数据的不一致。
  • pt-table-checksum在运行的时候是基于statement复制格式的,如果我们是ROW格式,需要在执行的时候加上--no-check-binlog-format参数。

(1) pt-table-checksum

我们缩小检查范围,单独检查某一个库,:

  1. [root@localhost bin]# pt-table-checksum --nocheck-replication-filters --replicate=rep_test.checksums --no-check-binlog-format --databases=xuanyuan h=192.168.1.181,u=root,p=123456,P=3306 

参数说明:

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

输出内容:

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

检查结果说明:

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

(2) pt-table-sync

如果检测到有数据是不一致的发方,需要借助pt-table-sync进行修复。

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

恢复不一致数据:

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

修复完成后,主从数据将会达到一致状态。

(3) pt-table-sync的一些使用案例

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

从7乘24到朝九晚五,DBA效率提升必备工具汇总!

【编辑推荐】

  1. MySQL删除操作其实是假删除
  2. MySQL数据库字符编码总结--数据传输编码
  3. DBA大牛MySQL优化心得,语句执行加速就是这么简单!
  4. 达梦DM8新品发布 国产数据库迎来新的里程碑
  5. 成也数据库 败也数据库 Oracle 如何云渡劫?
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+澳门新濠天地平台

Spring Boot 爬虫搜索轻松游

Spring Boot 爬虫搜索轻松游

全栈式开发之旅
共4章 | 美码师

72人订阅学习

Linux性能调优攻略

Linux性能调优攻略

性能调优规范
共15章 | 南非蚂蚁

203人订阅学习

VMware vSphere虚拟化常见故障

VMware vSphere虚拟化常见故障

搞定vSphere虚拟化
共18章 | 王春海

83人订阅学习

读 书 +澳门新濠天地平台

计算机病毒分析与防治简明教程

本书全面翔实地介绍了各种病毒的原理,以操作系统的发展为主线,结合病毒的发展过程来综合分析病毒。在分析工具上,较多地利用了脚本语言、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

博聚网