加入社区

订阅:www.yunweipai.com/feed

QQ群:
1群:201777608 - 运维综合
2群:526871767 - 运维综合
3群:1689067 - Linux Shell脚本

微博:weibo.com/tektea

微信:yunweipai(或扫描以下二维码)

合作伙伴

小猪动图 - GIF动图素材库_GIF在线工具

数据库杂谈之-MySQL延时复制库

前言:

我相信很多人都遭遇过MySQL主从复制延迟的问题,处理方案基本上就是你能搜索到的那些,那么我今天却要说说如何让MySQL延迟复制。对于刚组建的团队来说,这可能会救了你的项目。

简单的说延迟复制就是设置一个固定的延迟时间,比如1个小时,让从库落后主库一个小时。

延迟复制作用

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

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

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

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,表示设置成功。

命令注释:

SQL_Delay:一个非负整数,表示秒数,Slave滞后多少秒于master。

SQL_Remaining_Delay:当 Slave_SQL_Running_State 等待,直到MASTER_DELAY秒后,Master执行的事件,

此字段包含一个整数,表示有多少秒左右的延迟。在其他时候,这个字段是0。

好的,这就是今天的内容,小知识,短而美,长篇的干货,非常棒,但是我们真正学会的确比较少。把这个小知识积累起来吧。

趁现在,关注我们


牛人并不可怕,可怕的是牛人比我们还努力!关注“运维社区(微信ID:cloud-oaas)”公众号,每天利用空闲时间阅读一篇技术原创干货,满满的小幸福。

运维社区

长按图片,选择“识别图中二维码”,关注我们。

请必须全文转载,包括本行。

 

推荐阅读

性能优化利器:剖析MySQL 5.7新特征 sys schema

MaxScale:实现MySQL读写分离与负载均衡的中间件利器

转载请注明:运维派 » 数据库杂谈之-MySQL延时复制库

1
3.5k
0