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

    文章

    875

    浏览量

    28224
  • 线程
    +关注

    关注

    0

    文章

    508

    浏览量

    20459
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    应用中的“复制功能”如何实现##HarmonyOS应用开发##

    ?很多应用都有一个“点击复制”的功能,这一功能在实际操作中非常便捷,这一功能的实现主要是通过Basic Services Kit(基础服务)中的“剪贴板服务”实现的。 代码如下: async
    发表于 06-30 17:27

    利用dockerfile搭建mysql主从集群和redis集群

    ==MySQL主从同步(Replication)是一种实现数据冗余和高可用性的技术,通过将主数据库(Master)的变更操作同步到一个或多个从数据库(Slave),实现数据的实时或准实时复制
    的头像 发表于 05-14 11:38 ?450次阅读
    利用dockerfile搭建<b class='flag-5'>mysql</b>主从集群和redis集群

    hyper v 复制,hyper v 复制如何操作

    工作效率。今天就为大家介绍hyperv复制如何操作。 ? ?Hyper-V提供了多种方法来实现文件复制和共享,以下是几种常见的操作方法: ? ?方法一:通过网络共享复制文件 ? ?在主
    的头像 发表于 01-22 16:01 ?1182次阅读
    hyper v <b class='flag-5'>复制</b>,hyper v <b class='flag-5'>复制</b>如何操作

    使用插件将Excel连接到MySQL/MariaDB

    使用插件将 Excel 连接到 MySQL/MariaDB 适用于 MySQL 的 Devart Excel 插件允许您将 Microsoft Excel 连接到 MySQL 或 MariaDB
    的头像 发表于 01-20 12:38 ?716次阅读
    使用插件将Excel连接到<b class='flag-5'>MySQL</b>/MariaDB

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介绍
    的头像 发表于 01-14 11:25 ?646次阅读
    <b class='flag-5'>MySQL</b>数据库的安装

    华为云 Flexus 云服务器 X 实例:在 openEuler 系统下搭建 MySQL 主从复制

    前言 本文将介绍如何在华为云 Flexus 云服务器 X 实例上,基于 openEuler 系统部署 MySQL 主从复制MySQL 作为一款高性能且稳定的开源关系型数据库管理系统,是众多
    的头像 发表于 12-30 09:11 ?550次阅读
    华为云 Flexus 云服务器 X 实例:在 openEuler 系统下搭建 <b class='flag-5'>MySQL</b> 主从<b class='flag-5'>复制</b>

    MySQL还能跟上PostgreSQL的步伐吗

    Percona 的老板 Peter Zaitsev最近发表一篇博客,讨论了MySQL是否还能跟上PostgreSQL的脚步。Percona 作为MySQL 生态扛旗者,Percona 开发了知名
    的头像 发表于 11-18 10:16 ?615次阅读
    <b class='flag-5'>MySQL</b>还能跟上PostgreSQL的步伐吗

    详解MySQL多实例部署

    详解MySQL多实例部署
    的头像 发表于 11-11 11:10 ?718次阅读

    FPGA延时Verilog HDL实现

    可以在任意时刻启动,可以重复启动,延时时长可调,单位可切换(ms/us),在50MHz时钟下的延时范围是1ms-85899ms/1us-85899us。
    的头像 发表于 11-05 11:26 ?912次阅读

    分布式服务高可用实现复制

    作者:京东保险 王奕龙 1. 为什么需要复制 我们可以考虑如下问题: 当数据量、读取或写入负载已经超过了当前服务器的处理能力,如何实现负载均衡? 希望在单台服务器出现故障时仍能继续工作,这该如何实现
    的头像 发表于 10-29 11:27 ?993次阅读
    分布式服务高可用<b class='flag-5'>实现</b>:<b class='flag-5'>复制</b>

    适用于MySQL的dbForge架构比较

    dbForge Schema Compare for MySQL 是一种工具,用于轻松有效地比较和部署 MySQL 数据库结构和脚本文件夹差异。该工具提供了 MySQL 数据库架构中所有差异的全面视图。
    的头像 发表于 10-28 09:41 ?619次阅读
    适用于<b class='flag-5'>MySQL</b>的dbForge架构比较

    配置MySQL主从复制和读写分离

    配置MySQL主从复制和读写分离
    的头像 发表于 10-23 11:44 ?882次阅读
    配置<b class='flag-5'>MySQL</b>主从<b class='flag-5'>复制</b>和读写分离

    用4型EPWM实现三电平逆变器的延时保护

    电子发烧友网站提供《用4型EPWM实现三电平逆变器的延时保护.pdf》资料免费下载
    发表于 09-14 10:02 ?3次下载
    用4型EPWM<b class='flag-5'>实现</b>三电平逆变器的<b class='flag-5'>延时</b>保护

    用CLB实现三电平逆变器的延时保护

    电子发烧友网站提供《用CLB实现三电平逆变器的延时保护.pdf》资料免费下载
    发表于 09-14 10:01 ?3次下载
    用CLB<b class='flag-5'>实现</b>三电平逆变器的<b class='flag-5'>延时</b>保护

    延时开关上l和a是什么意思

    延时开关是一种常见的电子控制元件,广泛应用于各种电子设备和系统中。它可以实现对电路的自动控制,使电路在一定的延时后自动接通或断开。在延时开关的标识中,L和A通常代表不同的意义。 一、
    的头像 发表于 08-19 15:45 ?8312次阅读