mysql資料庫自動化完整備份和增量備份

來源:互聯網
上載者:User

標籤:Database Backup   mysql   資料恢複   

mysql資料庫自動化完整備份和增量備份

 

 

增量備份,為了增強mysql資料庫的安全性和完整性,需要對資料進行備份。這裡我們採用的策略是每周五下午5:30進行一次完整備份;每天的6:00、12:10、17:00進行增量備份。

1.完整備份指令碼如下:(備份之後並打包儲存)

    650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/98/DC/wKiom1lBJP7C2iX1AAA1siYHk_A803.png" title="1.png" alt="wKiom1lBJP7C2iX1AAA1siYHk_A803.png" />

2.增量備份指令碼如下:(將產生的二進位檔案內容讀取出來並匯入一個新的sql檔案中)

  650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/98/DC/wKiom1lBJQnR3urnAAAkS1bMaxM989.png" title="2.png" alt="wKiom1lBJQnR3urnAAAkS1bMaxM989.png" />

   增量備份的前提時,要在mysql的設定檔裡開啟二進位功能:

     log-bin=mysql

3.將這兩個加進計劃任務裡

   650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/98/DB/wKioL1lBJRvTI9GVAAAT0nYnRPs265.png" title="3.png" alt="wKioL1lBJRvTI9GVAAAT0nYnRPs265.png" />

4.執行結果:

Database Backup全部檔案存放路徑:/backup/mysqldb_full

資料庫增量備份存放路徑:/backup/mysqldb_add

 完整備份的檔案: (路徑在/backup/mysqldb-full/20150525,以每天的日期作為檔案名稱,*full.sql為完整備份檔案,*add.sql為增量備份檔案)

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/98/DB/wKioL1lBJSqyhcmhAAAWrbva-Q8586.png" title="4.png" alt="wKioL1lBJSqyhcmhAAAWrbva-Q8586.png" /> 

 

打包的備份檔案:(路徑在 /backup/mysql_backup)

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/98/DC/wKiom1lBJUfATCaDAAAjsZCvq4Q058.png" title="5.png" alt="wKiom1lBJUfATCaDAAAjsZCvq4Q058.png" /> 

產生的二進位檔案:

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/98/DB/wKioL1lBJV_hulTRAAAerEAX578324.png" title="6.png" alt="wKioL1lBJV_hulTRAAAerEAX578324.png" /> 

5.資料恢複:

 (1)恢複完整備份方式;

     

mysql -p  < full.sql


  (2) 恢複增量備份

     

mysqladmin bin-log.000001 | mysql -uroot -p


基於時間點的恢複
如果誤刪了一張表,使用完全恢複是沒有用的,因為日誌裡同樣也保留著刪除的sql語句,所以我們需要恢複到誤操作前的狀態,然後跳過誤操作的語句。
假如我在20:00誤刪了一張表,可以使用以下語句恢複:

mysqlbinlog --stop-date=‘2012-06-05 19:59:59‘ /var/log/mysql-bin.000001 | mysql -uroot -p


跳過誤刪除的時間點,再執行:

mysqlbinlog --start-date=‘2012-06-05 20:01:00‘ /var/log/mysql-bin.000001 | mysql -uroot -p


基於位置點的恢複
基於位置點的恢複可以得到更為精確的資料。
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/98/DC/wKiom1lBJb_RkbQ5AAAPVtXOvZk975.png" title="7.png" alt="wKiom1lBJb_RkbQ5AAAPVtXOvZk975.png" />如,drop table test這條語句的起始位置是889107,終止位置是889189,那麼我們可以使用於以下語句進行恢複:

mysqlbinlog --stop-position=‘889107‘ /var/lib/mysql/mysql-bin.000001|mysql -uroot -pmysqlbinlog --start-position=‘889189‘ /var/lib/mysql/mysql-bin.000001|mysql -uroot -p



本文出自 “清淼淡寫” 部落格,請務必保留此出處http://qingmiao.blog.51cto.com/7286083/1936828

mysql資料庫自動化完整備份和增量備份

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.