percona-toolkit常用工具整理(未完待续)

pt-online-schema-change

pt-online-schema-change为在alter操作更改表结构的时候不用锁定表,也就是说执行alter的时候不会阻塞写和读取操作,注意执行这个工具的时候必须做好备份,操作之前最好详细读一下官方文档
http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html。
工作原理是创建一个和你要执行alter操作的表一样的空表结构,执行表结构修改,然后从原表中copy原始数据到表结构修改后的表,当数据copy完成以后就会将原表移走,用新表代替原表,默认动作是将原表drop掉。
在copy数据的过程中,任何在原表的更新操作都会更新到新表,因为这个工具在会在原表上创建触发器,触发器会将在原表上更新的内容更新到新表。
如果表中已经定义了触发器这个工具就不能工作了。

pt-heartbeat

测量复制落后主mysql或者主PostgreSQL多少时间,你可以使用这个脚本去更新主或者监控复制。
原理:pt-heartbeat通过真实的复制数据来确认mysql和postgresql复制延迟,这个避免了对复制机制的依赖,从而能得出准确的落后复制时间,包含两部分:
第一部分在主上pt-heartbeat的–update线程会在指定的时间间隔更新一个时间戳。
第二部分是pt-heartbeat的–monitor线程或者–check线程连接到从上检查复制的心跳记录(前面更新的时间戳),并和当前系统时间进行比较,得出时间的差异。

pt-slave-delay

功能介绍:
相当于oracle的延迟复制。设置从服务器落后于主服务器指定时间。
原理:
通过启动和停止复制sql线程来设置从落后于主指定时间。
默认是基于从上relay日志的二进制日志的位置来判断,因此不需要连接到主服务器。如果IO进程不落后主服务器太多的话,这个检查方式工作很好,如果网络通畅的话,一般IO线程落后主通常都是毫秒级别。
一般是通过–delay and –delay”+”–interval来控制。–interval是指定检查是否启动或者停止slave上sql线程的频繁度,默认的是1分钟检查一次。

pt-table-checksum

参考http://blog.csdn.net/lijingkuan/article/details/50728220

pt-table-sync

参考http://blog.csdn.net/lijingkuan/article/details/50728220

你可能感兴趣的:(mysql)