MYSQLBACKUP工具的使用

dbhelper發表於2014-12-04
  1. 概述:

    前面有介紹過MYSQLBACKUP工具的安裝(http://blog.itpub.net/12679300/viewspace-1262774/),今天繼續和大家分享下MYSQLBACKUP工具的簡單實用;

     

  2. MYSQL備份的相關概念

    資料庫的備份相關的概念中最常見的是備份的方式和備份的檔案類比,MYSQL總結如下:

    備份的型別:完全備份和增量備份;

    備份的檔案:備份檔案和映象複製

    Apply-log:資料庫在備份是個過程,所有的資料在不同時間點被備份,如果這個時候資料庫還有寫的操作,那麼資料庫的備份是不一致的;apply-log會記錄整個過程中的相關log;在進行恢復的時候會把已經提交的事務寫入資料檔案,把沒有提交的事務進行回滾。

    增量備份apply-incremental-backup 不會對redo log 中沒有提交的事務進行回滾,可能下次增量備份事務已經提交了。

    這個apply-log過程你可以在任何機器上執行,沒有強制線上上或者備份庫上執行,你可以把備份複製到閒置的伺服器上去執行apply-log,以此來降低備份庫的壓力,不過,你必須保證backup和apply-log所使用的mysqlbackup的版本要一致

     

  3. 引數說明

輸入mysqlbackup --help,可以看到所有引數的說明,總結如下:

備份操作: backup, backup-and-apply-log, backup-to-image

備份校驗操作: apply-log, apply-incremental-backup

恢復操作: copy-back, copy-back-and-apply-log

單檔案備份操作: image-to-backup-dir, backup-dir-to-image, list-image,extract, validate

指定全備目錄:–backup-dir

指定增量備份目錄:–incremental-backup-dir

指定備份型別:–incremental

指定本次增量備份基於上次全備或者增量備份目錄:–incremental-base

指定本次增量備份基於上次全備或者增量備份的LSN 號:–start-lsn

基於時間戳的備份目錄:–with-timestamp

指定壓縮備份:–compress

指定解壓縮:–uncompress

 

  1. 資料庫備份的操作

    例一:基於全備目錄進行全備

mysqlbackup --user=root --password --backup-dir=/backup backup-and-apply-log

  • 備份目錄/backup
  • 備份的方式:backup
  • 備份的型別:資料庫全備幷包括apply-log

這是簡單的資料庫的全備,可以在這個指令碼增加相應的引數,實現各種業務功能。

 

--with-timestamp:根據時間產生一個備份檔案

指令碼:mysqlbackup --user=root --password --with-timestamp --backup-dir=/backup backup-and-apply-log

--compress:壓縮備份

指令碼:mysqlbackup --user=root --password --with-timestamp --backup-dir=/backup --compress backup

 

例二:增量備份

mysqlbackup --user=root --password --incremental --incremental-base=dir:/backup/2014-11-12_09-26-27 --incremental-backup-dir=/backup/2014-11-12_09-26-27/thursday backup

壓縮了77.06%,效率很高;

  • --incremental:代表增量備份;
  • --incremental-base:上次全備的目錄;
  • --incremental-backup-dir:增量備份的儲存的目錄

 

  1. 資料庫的還原操作

    需要在資料庫處於關閉的狀態下恢復!

    1. 恢復一個全備MySQL 例項

mysqlbackup --defaults-file=/backup/2014-11-12_09-26-27server-my.cnf --datadir=/data/mysql --backup-dir=/backup/2014-11-12_09-26-27 copy-back

 

總結:以上的操作純屬簡單的資料庫備份恢復的瞭解,實際生產系統的備份不是簡單的這麼一條語句就搞定的,需要考慮到幾個問題:什麼系統、故障時需要多長時間恢復、允許丟失的資料量、資料庫的大小、日誌產生的頻率、備份空間的大小等等。。。。。。

 

*********************************************************************************************************************

本文作者:JOHN QQ:1916066696 (請備註資料庫)

ORACLE技術部落格:ORACLE 獵人筆記 http://blog.itpub.net/12679300/

請掃描加微訊號!

********************************************************************************************************************

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1356132/,如需轉載,請註明出處,否則將追究法律責任。

相關文章