MySQL延迟复制--percona-toolkit和MASTER TO MASTER_DELAY

Posted 扫地猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL延迟复制--percona-toolkit和MASTER TO MASTER_DELAY相关的知识,希望对你有一定的参考价值。

为了数据的安全,有的时候数据库需要延迟备份,这里说下两种延迟备份的方法。

一、借助工具。

实现环境:

192.168.189.143 (mysql主库)

192.168.189.144 (mysql备库,延迟3分钟)

步骤:

1:在服务器上安装mysql,并配置主从复制。(省略)

2:查看144从库的复制状态,确认同步正常,也可在主库上写入数据测试。

技术分享

3:下载percona-toolkit软件包,并上传至143主库,并安装:

下载地址:http://www.percona.com/downloads/percona-toolkit/

#wget http://www.percona.com/downloads/perconatoolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm

#yum -y install percona-toolkit-2.2.14-1.noarch.rpm

注:若安装提示pulic key问题,导致失败,则修改/etc/yum.conf中的gpgcheck参数为0。

安装成功,查看pt-slave-delay是否可用:

#pt-slave-delay --help

技术分享

4:在144从库上配置一个用户,供延迟复制工具连接使用。

mysql> grant all on *.* to ‘delay_rep‘@‘192.168.189.%‘ identified by ‘123456‘;

mysql>flush privileges;

 

5:开启延迟复制:

#pt-slave-delay --user=‘delay_rep‘ --password=‘123456‘ --delay=3m --interval=20s 192.168.189.144技术分享

--user=:延时服务器中授权用户的用户名。

--password=:延时服务器中授权用户的密码。

--delay=3m:延时同步的时间,这里设置为3分钟。

--interval=20s:检查同步的时间,这里设置为20s。

192.168.189.144:延时服务器的IP地址。

这时候查看144的slave同步状态,可以看到Slave_SQL_Running状态变为NO。延迟复制现在已经生效了。

技术分享

二、MySQL自己的配置。

Mysql (需5.6以上版本)延迟复制配置,通过设置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执行的事件,

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

以上是关于MySQL延迟复制--percona-toolkit和MASTER TO MASTER_DELAY的主要内容,如果未能解决你的问题,请参考以下文章

MySQL延迟主从复制

如何解决mysql主从复制带来的数据延迟问题

MySQL 5.7 延迟复制

Mysql 主从复制 当主库挂掉,从库还有复制延迟时,应该怎么样恢复完整

Mysql5.7实现主从 延迟数据复制

MySQL 主从延迟复制方法总结