0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MySQL实现延时复制

汽车玩家 来源:黑马程序员 作者:黑马程序员 2020-05-05 22:20 次阅读

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

MySQL实现延时复制

一切正常,但今天(假设为周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不用安装)

MySQL实现延时复制

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

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

MySQL实现延时复制

3, 运行延时复制进程

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

MySQL实现延时复制

MySQL实现延时复制

4, 测试

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

MySQL实现延时复制

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • MySQL
    +关注

    关注

    1

    文章

    777

    浏览量

    26112
  • 线程
    +关注

    关注

    0

    文章

    497

    浏览量

    19547
收藏 人收藏

    评论

    相关推荐

    mysql密码忘了怎么重置

    mysql密码忘了怎么重置  MySQL是一种开源的关系型数据库管理系统,密码用于保护数据库的安全性和保密性。如果你忘记了MySQL的密码,可以通过以下几种方法进行重置。 方法一:使用MySQ
    的头像 发表于 12-27 16:51 1772次阅读

    mysql备份还原哪些方法

    MySQL是一个开源的关系型数据库管理系统,备份和还原是保证数据安全性和可恢复性的重要措施。本文将详细介绍MySQL备份和还原的方法,包括物理备份和逻辑备份等多种方式,以及每种方式的实现步骤
    的头像 发表于 11-23 14:35 762次阅读

    安装sqlyog之前要装mysql

    在安装 SQLyog 前是否需要安装 MySQL 取决于您的情况。MySQL 是一个关系型数据库管理系统,而 SQLyog 是一个可视化数据库管理工具,主要用于管理和操作 MySQL 数据库。 对于
    的头像 发表于 11-21 11:02 817次阅读

    mysql主从复制数据不一致怎么办

    MySQL主从复制是一种常用的数据复制技术,用于实现数据的实时同步和分布式部署。然而,在实际应用中,主从复制过程中出现数据不一致的情况也是很
    的头像 发表于 11-16 14:35 1193次阅读

    mysql主从复制 混合类型的复制

    MySQL主从复制是一种常用的数据复制技术,可以实现数据从一个MySQL服务器(主服务器)复制
    的头像 发表于 11-16 14:20 336次阅读

    mysql主从复制的原理

    MySQL主从复制是一种数据库复制技术,它允许将一个MySQL数据库的更新操作自动复制到其他MySQL
    的头像 发表于 11-16 14:18 343次阅读

    mysql主从复制主要有几种模式

    MySQL主从复制MySQL数据库中常用的一种数据复制方式,用于实现数据的备份、负载均衡、故障恢复等目的。主从
    的头像 发表于 11-16 14:15 922次阅读

    mysql如何实现主从复制的具体流程

    主从复制MySQL数据库中常用的数据复制技术之一,它的主要目的是将一个数据库服务器上的数据复制到其他服务器上,以实现数据的备份、高可用和分
    的头像 发表于 11-16 14:10 442次阅读

    mysql主从复制三种模式

    MySQL主从复制是一种常见的数据同步方式,它可以实现将一个数据库的更改同步到其他多个数据库的功能。主从复制可以提高数据库的可用性和性能,以及提供故障恢复和数据备份的支持。在
    的头像 发表于 11-16 14:04 637次阅读

    MYSQL事务的底层原理详解

    在事务的实现机制上,MySQL 采用的是 WAL:Write-ahead logging,预写式日志,机制来实现的。
    的头像 发表于 11-15 10:10 329次阅读
    <b class='flag-5'>MYSQL</b>事务的底层原理详解

    STM32基于HAL库实现微秒延时

    用做了库函数的超时定时器,使用的地方非常多,自己修改代码使用嘀嗒定时器的话就会引起错乱,所以此时就需要自己实现一个us级别延时函数。
    的头像 发表于 10-25 15:31 2695次阅读
    STM32基于HAL库<b class='flag-5'>实现</b>微秒<b class='flag-5'>延时</b>

    博科和康宁:在SAN环境中实现端口复制的优势

    电子发烧友网站提供《博科和康宁:在SAN环境中实现端口复制的优势.pdf》资料免费下载
    发表于 08-28 10:24 0次下载
    博科和康宁:在SAN环境中<b class='flag-5'>实现</b>端口<b class='flag-5'>复制</b>的优势

    MySQL到ES的4种常用数据同步方案

    在实际项目开发中,我们经常将 MySQL 作为业务数据库,ES 作为查询数据库,用来实现读写分离,缓解 MySQL 数据库的查询压力,应对海量数据的复杂查询。 这其中有一个很重要的问题,就是
    发表于 08-09 11:36 440次阅读
    <b class='flag-5'>MySQL</b>到ES的4种常用数据同步方案

    MySQL运维常用脚本

    进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
    的头像 发表于 07-29 11:23 437次阅读

    mysql运维实用脚本序列~

    进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
    的头像 发表于 07-16 15:25 709次阅读