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

时间: 2024-12-06 08:11:48

MySQL延迟复制--percona-toolkit和MASTER TO MASTER_DELAY的相关文章

mysql延迟复制实现

我们使用mysql的主从同步来实现mysql数据的实时同步和备份,但由于正常情况下,数据是实时同步的,当人为在主库上误操作数据时,备份库实时地也操作了错误数据. 为了避免上述数据错误的情况,希望能建立一个延迟同步的mysql备份库,当主库数据被误操作时,备份库还保留未操作前的正确数据,便于数据恢复. 使用第三方工具percona-toolkit可实现延迟复制的需求. 实现环境: 192.168.189.143 (mysql主库) 192.168.189.144 (mysql备库,延迟3分钟) 步

MySQL 5.6 延迟复制,误操作后的数据库恢复

MySQL 5.6 支持延迟复制,可以在Slave服务器指定一个延迟的值.默认值为0秒.使用MASTER_DELAY 选项为CHANGE MASTERTO 设置N秒延迟. 1. 下面来实际演示,正常运行的从节点执行,设置延迟100秒 STOP SLAVE; CHANGE MASTER TO MASTER_DELAY = 100; START SLAVE; SHOW SLAVE STATUS\G; 显示                     SQL_Delay: 100  --延迟 100S  

MySQL主从延迟复制实践及生产故障案例恢复实践

1.1 MySQL主从延迟复制介绍 从MySQL5.6开始支持了主从延迟复制,这个功能主要解决的问题是,当主库有逻辑的数据删除或错误更新后,所有的从库都会进行错误的更新,从而导致所有的数据库数据异常,即使有定时的备份数据可以用于数据恢复,特别是数据库数据量很大时,恢复时间会很长,再恢复期间数据库数据被删或错误数据影响正常的访问体验. 而延迟复制就可以较好的解决这个问题.例如,可以设定某一个从库和主库的更新延迟1小时,这样主库数据出问题以后,1个小时以内发现,可以对这个从库进行无害恢复处理,使之依

Percona Toolkit mysql辅助利器

1 PT介绍 Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在线DDL等,DBA熟悉掌握后将极大提高工作效率. 2 PT 安装 下载地址 :https://www.percona.com/downloads/percona-toolkit/ 下载完上传到linux 服务器 安装PT [[email protected] ~]# yum -y install p

使用Percona Toolkit解决Mysql主从不同步问题【备忘】

由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:binlog或者relay log数据损坏 数据不同步给应用带来的危害是致命的,当出现主从数据不一致的情况,常见的应对方法是先把从库下线,然后找个半夜三更的时间把应用停掉,重新执行同步,如果数据库的体积十分庞大,那工作量可想而知,会让人崩溃.本文介绍使用percona-toolkit工具对mysql主从

Oracle & MySQL 老司机说我们要使用(延迟复制)

最近工作中又遇到生产环境数据库的表被删除的情况,其实这样的事情本不该发生. 几个小建议: 生产环境数据库开发人员只能有查询权限,甚至级别低的开发根本没权限查生产系统,类似表的删除交给专业的DBA来操作,当然有些单位没有所谓的DBA. 专职的DBA基本都具备一个属性,就是每一步的操作都会考虑好后果,所以删除表之前都会有一个备份. 建立审核制度,truncate .drop. rm这样的操作可能是致命的,必须要审核. 可以先rename表,比如把表rename成bak_date_tablename,

MySQL 5.7 延迟复制

MySQL 5.7延迟复制是通过设置复制参数MASTER_DELAY实现(单位为秒,就是从库延迟多少秒后执行这条SQL) 例如: mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.1.101 ..... Slave_IO_Runnin

mysql主从复制、延迟复制、半同步

#xtrabackup备份: #备份/data/mysql_backup/percona-xtrabackup-2.4.9-Linux-x86_64/bin/xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/2020-01-22-14 --user=root --password= -S /var/lib/mysql/mysql.sock #恢复/data/mysql_backup/percona-

Percona Toolkit 2.2.12 发布,MySQL 管理工具

Percona Toolkit 2.2.12 发布了, Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务. 改进内容包括: New Features: pt-stalk now gathers dmesg output from up to 60 seconds before the triggering event. Bugs Fixed: Fixed bug 1376561 : pt-archiver was not able to archive a