mysql通過binlog恢複資料

來源:互聯網
上載者:User

標籤:

如果mysql不小心操作失誤導致資料錯誤或者丟失這時候binlog起到了很大的作用恢複有幾種方式1.按時間恢複--start-datetime 如果確定了時間點,那麼按時間恢複是一個再好不過的事,一般是通過日常的定期備份+差異備份(日誌)如果日常備份在4點,出錯的時間在12:00點,12:30發現的,首先我們要確認12點出了什麼錯,12點以後的資料還能不能繼續使用,如果不影響,那麼我們只需跳過12:00執行的資料即可首先,恢複4點的備份然後,通過binlog擷取4點到11:59的資料,擷取的資料可以直接作用到資料庫中,避免二次汙染,最好先產生sql檔案 mysqlbinlog --start-datetime="2014-11-07 04:01:00"  --stop-datetime="2014-11-07 11:59:00" /data/mysql/data/mysql-bin.000020 >/home/madong/aa.sql在擷取12:01-12:30的資料 mysqlbinlog --start-datetime="2014-11-07 12:01:00"  --stop-datetime="2014-11-07 12:30:00" /data/mysql/data/mysql-bin.000020 >>/home/madong/aa.sql最後通過mysql命令列source   /home/madong/aa.sql 如果12點以後的資料還不能繼續使用那麼我們只需要恢複到12點,12:00-12:30的資料就不需要恢複2.通過--start-position節點思路和上面的一樣,首先要確定節點的id,在恢複  例:描述:2014-11-07 13:50 遊戲資料庫資料全部清空故障發現時間:13:50故障發生時間:13:40左右故障結束時間:15:55恢複過程:故障觸發,遊戲馬上關服,進行維護,故障原因已知(資料沒了)1.首先確認恢復點恢複帶2014-11-07 13:302.因為剛開服不久,所以準備從最原始開始恢複,不從4點的完整備份節點恢複準備不直接操作,先產生sql, mysqlbinlog --start-datetime="2014-11-06 09:50:00"  --stop-datetime="2014-11-07 13:30:00" /data/mysql/data/mysql-bin.000020 >/home/madong/aa.sql(aa.sql 500M左右)3.因資料庫重設之後又有玩家註冊,如果匯入資料會出現主鍵衝突,所以再次清空資料庫(保留基表資料)4.匯入sql進入mysql命令列,並切換資料庫(use DBNAME)source /home/madong/aa.sql執行開始時間14:57結束時間15:54  大約一個小時

mysql通過binlog恢複資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.