国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL延時復制簡介

2024-07-24 12:32:10
字體:
來源:轉載
供稿:網友
         公司有一套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上復制成功。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鲁甸县| 东至县| 白沙| 海原县| 连山| 赣州市| 哈密市| 信阳市| 蓝山县| 灌阳县| 金平| 弥渡县| 贵阳市| 托克逊县| 甘孜县| 卓资县| 胶州市| 石城县| 永靖县| 祥云县| 洛浦县| 台州市| 孝昌县| 西盟| 星子县| 叶城县| 灵璧县| 香港| 奉新县| 郴州市| 青川县| 图木舒克市| 清新县| 名山县| 独山县| 澄江县| 博野县| 贵港市| 鄂伦春自治旗| 德兴市| 循化|