percona toolkit之slave工具

1:pt-slave-find ,主要是查找MySQL的层级,其实我感觉这个用处不是很大,因为层级比较多架构本身就很少,查看从库的话一般情况我们可以通过show slave hosts查看(不过不能显示层级):
mysql> show slave hosts;
+-----------+------+------+-----------+--------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID |
+-----------+------+------+-----------+--------------------------------------+
| 343306 | | 3306 | 353306 | a38c33ee-34b7-11e7-ae1d-005056931959 |
| 353307 | | 3307 | 353306 | 6a4ab82c-4029-11e7-86b0-00505693235d |
+-----------+------+------+-----------+--------------------------------------+
2 rows in set (0.00 sec)

 

下面看下pt-slave-find打印的信息:
[root@mxqmongodb2 bin]# ./pt-slave-find --host=.16.35 --port=3306 --user=root --password=123456
.16.35
Version 5.7.14-log
Server ID 353306
Uptime 7+01:15:23 (started 2017-06-13T16:54:03)
Replication Is not a slave, has 2 slaves connected, is not read_only
Filters
Binary logging ROW
Slave status
Slave mode STRICT
Auto-increment increment 1, offset 1
InnoDB version 5.7.14
+- .16.34
Version 5.7.14-log
Server ID 343306
Uptime 11+08:34:43 (started 2017-06-09T09:34:43)
Replication Is a slave, has 0 slaves connected, is not read_only
Filters
Binary logging ROW
Slave status 0 seconds behind, running, no errors
Slave mode STRICT
Auto-increment increment 1, offset 1
InnoDB version 5.7.14

 

2:pt-slave-restart
能够用来监控主从复制,如果从库挂掉的话,会尝试提起来从库。pt-slave-restart会监视一个或多个MySQL复制从库,并尝试跳过导致错误的语句。它以一个指数级的睡眠时间智能地轮询从库,也就是说时间会递增和递减,而不是固定的,不过有限制最大值和最小值。我们可以指定错误以跳过并运行从站,直到某个binlog位置。虽然这个工具可以帮助从库跳过错误,但你不应该依赖它来“修复”复制。如果从库错误频繁或意外发生,就应该手动进行修复。
他只是跳过错误,并不能进行修复:
#pt-slave-restart --user=root --password=root --host=.16.35 --port=3307 --skip-count=1

 

监视从节点,跳过错误代码为1062的错误。
#pt-slave-restart --user=root --password= root --host=.16.35 --port=3307 --error-numbers=1062

 

而且这个工具也是有弊端的,首先不说处理问题的方式,它本身就不支持多线程复制,如果开启了多线程复制的话,这个工具是不可用的。他回去识别slave_parallel_workers 参数,当这个参数大于0的时候就不会起作用。
3:pt-slave-delay
这个工具比较鸡肋,就是作为一个MySQL延迟复制的功能,能够保证从库始终和主库有一段时间的延迟,而且所需要的权限也是较高的,PROCESS, REPLICATION CLIENT, 和SUPER.。
pt-slave-delay [OPTIONS] SLAVE_DSN [MASTER_DSN]

 

看个例子,让从库延迟主库一分钟,--interva表示十五秒执行一次检查,run-time表示总共运行多长时间:
pt-slave-delay --delay 1m --interval 15s --run-time 10m slavehost

 

其实这个功能,在MySQL5.6就加入了延迟复制的功能,只用在指定复制的时候加上参数master_delay 就可,个人感觉这个工具用处并不大。
 
 
 
 
posted @ 2017-06-22 09:27  M哥  阅读(597)  评论(0编辑  收藏  举报