千家信息网

MySQL延时复制简介

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,公司有一套mysqlAB复制架构的生产库,一主一从的架构, 每周一凌晨0天都自动做全备。一切正常,但今天(假设为周6)不小心误删除了一张表,从库也会跟着做误删除。假设这张表里有好几年的业务数据, 如何
千家信息网最后更新 2026年11月01日MySQL延时复制简介

公司有一套mysqlAB复制架构的生产库,一主一从的架构, 每周一凌晨0天都自动做全备。

一切正常,但今天(假设为周6)不小心误删除了一张表,从库也会跟着做误删除。假设这张表里有好几年的业务数据, 如何恢复呢?

有以下几种思路:

需要把这几年内所有的二进制日志先合并,再通过sed,grep,awk等命令处理把这张表从建表到现在的所有操 作按顺序找出来(当然要除掉你最后误删除的那条),然后导回去(数据量太大就不建议了)

先恢复周一的全备到测试库上,然后再恢复全备到现在的二进制日志(除了误删除的那句),再把那张表导出 来,导回到生产库上

有延时复制的话,在延时库上导出这张表,导回A, 再用二进制日志恢复延时时间内的误删表的操作(除了误删除的那句)

从上面的分析来看,延时复制能够在一定程序上简化恢复的过程。

Maatkit是一个Perl写的Mysql开源管理工具包,里面有一个可以在www.maatkit.org网站上下载软件包。我这里软包为

mk-slave-delay

maatkit-7540.tar.gz

命令可以实现延时复制。

搭建过程

首先需要搭建好mysqlAB复制(传统AB复制,基于GTIDs的AB复制,半同步复制等都可以),然后做以下过程

1, 在需要做延时复制的slave上安装mattkit

(注意: master和正常的slave不用安装)

2, 确认整个架构所有机器时间同步

因为延时是要按时间来计算的,所以时间必须要一致, 所有服务器执行下面的命令,并比较时间

3, 运行延时复制进程

确认时间一致, 并且AB复制正常的情况下, 在slave上执行下面的命令

4, 测试

在slave上查看复制状态,会发现SQL线程为NO,这是正常的,因为延时复制里IO线程是实时的,只是把SQL线程延时了

然后在master上找一个测试表插入几条数据,等待1分钟后,才会看到数据在salve上复制成功。


来源于:黑马程序员百家号。

时间 命令 数据 二进制 日志 架构 线程 过程 面的 全备 测试 一致 程序 同步 生产 成功 上下 不用 业务 传统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网最新的科技 科技互联网公司装修 互联网科技社 互联网与新科技 互联网科技革命 世界互联网领先科技成果 天津摩尔互联网科技 西安互联网科技公司 互联网金融科技委员会 镁科技互联网资讯平台 成都仁贤领冠互联网科技有限公司 哈尔滨秒房互联网科技有限公司 山东吉时兔互联网科技有限公司 茂名市互联网科技产业园 智腾互联网科技有限公司 内蒙古九一互联网科技 每天都有哪些好的互联网科技 广州有谷有贝互联网科技有限公司 长沙渺峰互联网科技有限公司 颐高云石互联网科技 上海喔噻互联网科技有限公司 广州大一互联网络科技有限公司 科技互联网公司装修 网络科技有限互联网 互联网科技视频素材 湖南洣水互联网科技有限公司扣款 互联网教育科技公司vipkid 移动互联网科技股 中化能源互联网科技招聘 移动互联网年度科技创新
0