码迷,mamicode.com
首页 > 数据库 > 详细

mysql延迟复制实现

时间:2015-07-07 19:47:22      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:mysql   延迟复制   

我们使用mysql的主从同步来实现mysql数据的实时同步和备份,但由于正常情况下,数据是实时同步的,当人为在主库上误操作数据时,备份库实时地也操作了错误数据。

为了避免上述数据错误的情况,希望能建立一个延迟同步的mysql备份库,当主库数据被误操作时,备份库还保留未操作前的正确数据,便于数据恢复。

   使用第三方工具percona-toolkit可实现延迟复制的需求。

 

实现环境:

          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地址。

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

技术分享 

 

6:测试:

143主库插入一条数据:

技术分享

---------

技术分享 

查看144从库,数据还未同步过来:

技术分享

-----------

技术分享

3分钟左右,日志显示开始同步数据:

技术分享 

这时查看144从库,发现数据已经同步完成,说明延迟复制已经开始发生作用:

技术分享

------------

技术分享



附件是porcona-toolkit的安装文件,大家可以下载……


本文出自 “linux运维” 博客,请务必保留此出处http://icenycmh.blog.51cto.com/4077647/1671702

mysql延迟复制实现

标签:mysql   延迟复制   

原文地址:http://icenycmh.blog.51cto.com/4077647/1671702

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!