深入了解复制-延迟复制

1)什么是延迟复制

延迟复制是一个很简单的概念,区别于传统的异步复制(接近实时),比如用户误操作,删除了重要的表,延迟复制特性保证了用户有机会从延迟的slave中恢复误删除的表.该特性的问题在于需要保证用户有足够的时间从slave阻止误操作复制的发生.从5.6版本开始支持。延时特性是在slave中实现的,不会影响master,relay log的接收等,只是sql_thread执行更新的过程延迟了指定的时间。

2)延迟复制作用

存在即合理,延迟复制可以用来解决以下三类问题:

1.用来在数据库误操作后,快速的恢复数据。比如有人误操作的表,那么这个操作在延迟时间内,从库的数据并没有发生变化,可以用从库的数据进行快速恢复。

2.用来做延迟测试,比如你做好的数据库读写分离,把从库作为读库,那么你想知道当数据产生延迟的时候到底会发生什么。那么你就可以使用这个特性也模拟延迟。

3.用于老数据的查询等需求,比如你经常需要查看某天前一个表或者字段的数值,你可能需要把备份恢复后进行查看,如果有延迟从库,比如延迟一周,那么就可以解决这样类似的需求。当然,并不是所有团队都有这样的需求。

3)设置延迟复制

延迟复制配置,通过设置Slave上的MASTER TO MASTER_DELAY参数实现:

CHANGE MASTER TO MASTER_DELAY = N;

N为多少秒,该语句设置从数据库延时N秒后,再与主数据库进行数据同步复制。

具体操作:

登陆到Slave数据库服务器

mysql>stop slave;

mysql>CHANGE MASTER TO MASTER_DELAY = 600;

mysql>start slave;

mysql>show slave status \G;

查看SQL_Delay的值为600,表示设置成功。


4)设置取消延迟复制

STOP SLAVE ;

CHANGE MASTER TO MASTER_DELAY=0;

START SLAVE;

SHOW

SLAVE STATUS\G;�n��74��

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容