0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

汽車玩家 ? 來(lái)源:黑馬程序員 ? 作者:黑馬程序員 ? 2020-05-05 22:20 ? 次閱讀

公司有一套mysqlAB復(fù)制架構(gòu)的生產(chǎn)庫(kù),一主一從的架構(gòu), 每周一凌晨0天都自動(dòng)做全備。

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

一切正常,但今天(假設(shè)為周6)不小心誤刪除了一張表,從庫(kù)也會(huì)跟著做誤刪除。假設(shè)這張表里有好幾年的業(yè)務(wù)數(shù)據(jù), 如何恢復(fù)呢?

有以下幾種思路:

需要把這幾年內(nèi)所有的二進(jìn)制日志先合并,再通過(guò)sed,grep,awk等命令處理把這張表從建表到現(xiàn)在的所有操 作按順序找出來(lái)(當(dāng)然要除掉你最后誤刪除的那條),然后導(dǎo)回去(數(shù)據(jù)量太大就不建議了)

先恢復(fù)周一的全備到測(cè)試庫(kù)上,然后再恢復(fù)全備到現(xiàn)在的二進(jìn)制日志(除了誤刪除的那句),再把那張表導(dǎo)出 來(lái),導(dǎo)回到生產(chǎn)庫(kù)上

有延時(shí)復(fù)制的話,在延時(shí)庫(kù)上導(dǎo)出這張表,導(dǎo)回A, 再用二進(jìn)制日志恢復(fù)延時(shí)時(shí)間內(nèi)的誤刪表的操作(除了誤刪除的那句)

從上面的分析來(lái)看,延時(shí)復(fù)制能夠在一定程序上簡(jiǎn)化恢復(fù)的過(guò)程。

Maatkit是一個(gè)Perl寫的Mysql開(kāi)源管理工具包,里面有一個(gè)可以在www.maatkit.org網(wǎng)站上下載軟件包。我這里軟包為

mk-slave-delay

maatkit-7540.tar.gz

命令可以實(shí)現(xiàn)延時(shí)復(fù)制。

搭建過(guò)程

首先需要搭建好mysqlAB復(fù)制(傳統(tǒng)AB復(fù)制,基于GTIDs的AB復(fù)制,半同步復(fù)制等都可以),然后做以下過(guò)程

1, 在需要做延時(shí)復(fù)制的slave上安裝mattkit

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

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

2, 確認(rèn)整個(gè)架構(gòu)所有機(jī)器時(shí)間同步

因?yàn)檠訒r(shí)是要按時(shí)間來(lái)計(jì)算的,所以時(shí)間必須要一致, 所有服務(wù)器執(zhí)行下面的命令,并比較時(shí)間

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

3, 運(yùn)行延時(shí)復(fù)制進(jìn)程

確認(rèn)時(shí)間一致, 并且AB復(fù)制正常的情況下, 在slave上執(zhí)行下面的命令

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

4, 測(cè)試

在slave上查看復(fù)制狀態(tài),會(huì)發(fā)現(xiàn)SQL線程為NO,這是正常的,因?yàn)檠訒r(shí)復(fù)制里IO線程是實(shí)時(shí)的,只是把SQL線程延時(shí)了

MySQL實(shí)現(xiàn)延時(shí)復(fù)制

然后在master上找一個(gè)測(cè)試表插入幾條數(shù)據(jù),等待1分鐘后,才會(huì)看到數(shù)據(jù)在salve上復(fù)制成功。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    821

    瀏覽量

    26652
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    505

    瀏覽量

    19715
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MySQL數(shù)據(jù)庫(kù)的安裝

    MySQL數(shù)據(jù)庫(kù)的安裝 【一】各種數(shù)據(jù)庫(kù)的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發(fā)表于 01-14 11:25 ?88次閱讀
    <b class='flag-5'>MySQL</b>數(shù)據(jù)庫(kù)的安裝

    華為云 Flexus 云服務(wù)器 X 實(shí)例:在 openEuler 系統(tǒng)下搭建 MySQL 主從復(fù)制

    前言 本文將介紹如何在華為云 Flexus 云服務(wù)器 X 實(shí)例上,基于 openEuler 系統(tǒng)部署 MySQL 主從復(fù)制。MySQL 作為一款高性能且穩(wěn)定的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),是眾多
    的頭像 發(fā)表于 12-30 09:11 ?215次閱讀
    華為云 Flexus 云服務(wù)器 X 實(shí)例:在 openEuler 系統(tǒng)下搭建 <b class='flag-5'>MySQL</b> 主從<b class='flag-5'>復(fù)制</b>

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發(fā)表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態(tài)扛旗者,Percona 開(kāi)發(fā)了知名
    的頭像 發(fā)表于 11-18 10:16 ?243次閱讀
    <b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎

    FPGA延時(shí)Verilog HDL實(shí)現(xiàn)

    可以在任意時(shí)刻啟動(dòng),可以重復(fù)啟動(dòng),延時(shí)時(shí)長(zhǎng)可調(diào),單位可切換(ms/us),在50MHz時(shí)鐘下的延時(shí)范圍是1ms-85899ms/1us-85899us。
    的頭像 發(fā)表于 11-05 11:26 ?351次閱讀

    分布式服務(wù)高可用實(shí)現(xiàn)復(fù)制

    作者:京東保險(xiǎn) 王奕龍 1. 為什么需要復(fù)制 我們可以考慮如下問(wèn)題: 當(dāng)數(shù)據(jù)量、讀取或?qū)懭胴?fù)載已經(jīng)超過(guò)了當(dāng)前服務(wù)器的處理能力,如何實(shí)現(xiàn)負(fù)載均衡? 希望在單臺(tái)服務(wù)器出現(xiàn)故障時(shí)仍能繼續(xù)工作,這該如何實(shí)現(xiàn)
    的頭像 發(fā)表于 10-29 11:27 ?662次閱讀
    分布式服務(wù)高可用<b class='flag-5'>實(shí)現(xiàn)</b>:<b class='flag-5'>復(fù)制</b>

    適用于MySQL的dbForge架構(gòu)比較

    dbForge Schema Compare for MySQL 是一種工具,用于輕松有效地比較和部署 MySQL 數(shù)據(jù)庫(kù)結(jié)構(gòu)和腳本文件夾差異。該工具提供了 MySQL 數(shù)據(jù)庫(kù)架構(gòu)中所有差異的全面視圖。
    的頭像 發(fā)表于 10-28 09:41 ?233次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge架構(gòu)比較

    配置MySQL主從復(fù)制和讀寫分離

    配置MySQL主從復(fù)制和讀寫分離
    的頭像 發(fā)表于 10-23 11:44 ?520次閱讀
    配置<b class='flag-5'>MySQL</b>主從<b class='flag-5'>復(fù)制</b>和讀寫分離

    用4型EPWM實(shí)現(xiàn)三電平逆變器的延時(shí)保護(hù)

    電子發(fā)燒友網(wǎng)站提供《用4型EPWM實(shí)現(xiàn)三電平逆變器的延時(shí)保護(hù).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:02 ?0次下載
    用4型EPWM<b class='flag-5'>實(shí)現(xiàn)</b>三電平逆變器的<b class='flag-5'>延時(shí)</b>保護(hù)

    用CLB實(shí)現(xiàn)三電平逆變器的延時(shí)保護(hù)

    電子發(fā)燒友網(wǎng)站提供《用CLB實(shí)現(xiàn)三電平逆變器的延時(shí)保護(hù).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:01 ?0次下載
    用CLB<b class='flag-5'>實(shí)現(xiàn)</b>三電平逆變器的<b class='flag-5'>延時(shí)</b>保護(hù)

    延時(shí)開(kāi)關(guān)上l和a是什么意思

    延時(shí)開(kāi)關(guān)是一種常見(jiàn)的電子控制元件,廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng)中。它可以實(shí)現(xiàn)對(duì)電路的自動(dòng)控制,使電路在一定的延時(shí)后自動(dòng)接通或斷開(kāi)。在延時(shí)開(kāi)關(guān)的標(biāo)識(shí)中,L和A通常代表不同的意義。 一、
    的頭像 發(fā)表于 08-19 15:45 ?6568次閱讀

    MySQL知識(shí)點(diǎn)匯總

    大家好,這部分被稱為DQL部分,是每個(gè)學(xué)習(xí)MySQL必須要學(xué)會(huì)的部分,下面就讓我來(lái)介紹MySQL中的其他部分。
    的頭像 發(fā)表于 08-05 15:27 ?423次閱讀
    <b class='flag-5'>MySQL</b>知識(shí)點(diǎn)匯總

    如何實(shí)現(xiàn)Python復(fù)制文件操作

    Python 中有許多“開(kāi)蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會(huì)看到一些用 Python 實(shí)現(xiàn)文件復(fù)制的特殊方法。下面我們開(kāi)始學(xué)習(xí)這九種不同的方法來(lái)實(shí)現(xiàn)
    的頭像 發(fā)表于 07-18 14:53 ?448次閱讀

    MySQL的整體邏輯架構(gòu)

    支持多種存儲(chǔ)引擎是眾所周知的MySQL特性,也是MySQL架構(gòu)的關(guān)鍵優(yōu)勢(shì)之一。如果能夠理解MySQL Server與存儲(chǔ)引擎之間是怎樣通過(guò)API交互的,將大大有利于理解MySQL的核心
    的頭像 發(fā)表于 04-30 11:14 ?475次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯架構(gòu)

    Redis與MySQL協(xié)同升級(jí)企業(yè)緩存

    ?二者聯(lián)合的解決方案,如何加速應(yīng)用程序,提升效率,實(shí)現(xiàn)可拓展性?文章速覽:MySQL為什么需要RedisnterpriseRedisnterprise帶來(lái)哪些優(yōu)勢(shì)
    的頭像 發(fā)表于 02-19 13:18 ?396次閱讀
    Redis與<b class='flag-5'>MySQL</b>協(xié)同升級(jí)企業(yè)緩存

    labview 創(chuàng)建mysql 表時(shí) 設(shè)置時(shí)間 怎么在mysql中是格式是date 而不是datetime?

    選擇 時(shí)間日期 但是在mysql中是date而不是datetime類型 ,除了sql語(yǔ)句創(chuàng)建表 ,怎么能實(shí)現(xiàn)創(chuàng)建表中數(shù)據(jù)為datetime類型
    發(fā)表于 02-04 09:46