数据库之扑朔迷离 2019-05-30
在DBA的日常工作有很多事情,比如:在线更改数据表结构,校验主从数据,检查数据库状态,分析慢查询,如果人工去完成做起来真的很麻烦,很费时,足以让你达到996!
但是有一些数据库程序员,他们总是可以拿着996的薪水,干着955的活,是什么提高了DBA的“生产力”呢?
是科技推动了生产力!
今天小编就同大家分享一些在MySQL优化工作中实用的PT工具,帮你达到事半功倍!
Percona Toolkit简称 pt 工具,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、分析慢日志、在线DDL等。
sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm yum list | grep percona-toolkit
安装好PT,接下来介绍一些实用的PT工具以及它们使用的使用吧~
说明:此工具主要用来检查表的重复索引,并给出相关的建议。
pt-duplicate-key-checker -h 127.0.0.1 -u root -p 123456 -d xuanyuan -t rs_hc_status
pt-kill 是一个简单而且很实用的查杀mysql线程和查询的工具,主要是为了防止一些大/复杂/长时间查询占用数据库及系统资源,而对线上业务造成影响的情况。
说明如下:
1.匹配processlist的查杀线程或者会话的重要参数 举几个匹配例子如下:
--match-command多个command之间用 | 分隔,否则会失效。
注意info的内容一定要严格匹配大小写,否则会杀不掉。
--ignore-host/--match-host
--ignore-db/--match-db
--ignore-user/--match-user
2.行为参数 Action:
3.其它重要参数
4.常用使用如下:
每10秒检查一次,发现有sleeping的进程就给干掉
pt-kill --match-command Sleep --victims all --interval 10 --host=localhost --port=3306 --user=root --password=********* --kill --print -S
更多使用参考下图:
查询mysql的概要信息。
pt-mysql-summary --host 127.0.0.1 --user root --password 123456 ;
参数说明:
输出内容分析:
pt-query-digest主要用来分析mysql慢日志。
2.5.1 pt-table-checksum
我们缩小检查范围,单独检查某一个库,:
[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
参数说明:
输出内容:
检查结果说明:
2.5.2 pt-table-sync
如果检测到有数据是不一致的发方,需要借助pt-table-sync进行修复。
恢复不一致数据:
修复完成后,主从数据将会达到一致状态。
2.5.3 pt-table-sync的一些使用案例
网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?
加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。群里有定期干货分享、大牛专业解答、实用IT工具优选.....
私信小编“联盟”,即可加入我们~