公司有一套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上復制成功。
-
MySQL
+關注
關注
1文章
829瀏覽量
26745 -
線程
+關注
關注
0文章
505瀏覽量
19758
發布評論請先 登錄
相關推薦
hyper v 復制,hyper v 復制如何操作
![hyper v <b class='flag-5'>復制</b>,hyper v <b class='flag-5'>復制</b>如何操作](https://file1.elecfans.com/web3/M00/06/E2/wKgZPGeQpAWAXHLFAARe0OcazbI987.png)
使用插件將Excel連接到MySQL/MariaDB
![使用插件將Excel連接到<b class='flag-5'>MySQL</b>/MariaDB](https://file1.elecfans.com/web3/M00/06/A2/wKgZO2eN04eAGvSJAAA2ONnnlhw523.png)
MySQL數據庫的安裝
![<b class='flag-5'>MySQL</b>數據庫的安裝](https://file1.elecfans.com/web3/M00/05/E2/wKgZPGeF2XWAe83fAAAW9lhgvGk652.jpg)
華為云 Flexus 云服務器 X 實例:在 openEuler 系統下搭建 MySQL 主從復制
![華為云 Flexus 云服務器 X 實例:在 openEuler 系統下搭建 <b class='flag-5'>MySQL</b> 主從<b class='flag-5'>復制</b>](https://file1.elecfans.com//web3/M00/04/3A/wKgZO2dxDlyANYwLAAEOFncth-U091.png)
MySQL還能跟上PostgreSQL的步伐嗎
![<b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎](https://file1.elecfans.com/web2/M00/0B/D4/wKgZomc6o-GAONzrAAAUvLyONl4496.png)
FPGA延時Verilog HDL實現
分布式服務高可用實現:復制
![分布式服務高可用<b class='flag-5'>實現</b>:<b class='flag-5'>復制</b>](https://file1.elecfans.com//web2/M00/0B/56/wKgaomcgVhmARo0zAABMR5JibOY332.png)
延時開關上l和a是什么意思
如何實現Python復制文件操作
MySQL的整體邏輯架構
![<b class='flag-5'>MySQL</b>的整體邏輯架構](https://file1.elecfans.com/web2/M00/DF/5E/wKgaomYwYo-AUI-ZAAA3QdJJs08944.png)
Redis與MySQL協同升級企業緩存
![Redis與<b class='flag-5'>MySQL</b>協同升級企業緩存](https://file.elecfans.com/web2/M00/3F/D7/poYBAGJqPMKAEXjWAAAOpepuZJ8475.jpg)
評論