溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過innobackupex實現對MySQL的增量備份與還原

發(fā)布時間:2021-10-27 16:56:21 來源:億速云 閱讀:254 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關如何通過innobackupex實現對MySQL的增量備份與還原,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

innobackupex 是由Perl腳本語言編寫的工具,該工具對xtrabackup工具進行了封裝,為了支持MyISAM engine
xtrabackup是由知名的數據庫軟件服務企業(yè)Percona提供的一款熱備工具,有以下幾個優(yōu)點:
備份集高效,完整,可用。
備份任務執(zhí)行過程中不會阻塞事務。
節(jié)省磁盤空間,降低網絡帶寬占用。
備份集自動驗證機制。
恢復更快。

目前最新版本是2.4.5,下載地址:


  1. https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/redhat/6/x86_64/Percona-XtraBackup-2.4.5-re41c0be-el6-x86_64-bundle.tar

解壓之后會有一個percona-xtrabackup-24-2.4.5-1.el6.x86_64.rpm,安裝:

  1. rpm -ivh percona-xtrabackup-24-2.4.5-1.el6.x86_64.rpm

查看版本:

  1. [root@iZ252affh68Z scripts]# innobackupex --version

  2. innobackupex version 2.4.5 Linux (x86_64) (revision id: e41c0be)


創(chuàng)建備份文件存放目錄:

mysql_full --用于存放全備份
mysql_incremental --用于存放增量備份

全備份語句:

  1. innobackupex  --defaults-file=/etc/my.cnf  --host=10.51.xx.xx  --user=xtrabk  --password=onlyxxxxx  --extra-lsndir=/mnt/backup/mysql_full --stream=tar /tmp | gzip > /mnt

  2. /backup/mysql_full/xtra_fullbak_2017-02-10.tar.gz

--extra-lsndir參數的用途是在全備份目錄下生成增量備份需要的文件,類似如下:

  1. [root@iZ252affh68Z mysql_full]# more xtrabackup_checkpoints

  2. backup_type = full-backuped

  3. from_lsn = 0

  4. to_lsn = 227008558675

  5. last_lsn = 227008558684

  6. compact = 0

  7. recover_binlog_info = 0

增量備份語句:

  1. innobackupex --defaults-file=/etc/my.cnf --host=10.51.xx.xx --user=xtrabk --password=onlyxxxxx --no-timestamp --incremental --incremental-basedir=/mnt/backup/mysql_full

  2. --stream=xbstream /tmp > /mnt/backup/mysql_incremental/xtra_incrementalbak_2017-02-14.xbstream

--incremental參數的意思是要進行增量備份
--incremental-basedir指定全備份的目錄,需要找xtrabackup_checkpoints里的to_lsn,增量需要以全備為基礎。
--stream 增量備份只能指定為xbstream

注:如果是rpm方式安裝的xtrabackup,xbstream會自動在/usr/bin下生成,如果是源碼方式安裝,需要拷貝xbstream可執(zhí)行程序到/usr/bin目錄

恢復:

本例是把上述的全備和增量備份文件拷貝到異機進行恢復,異機上已經安裝好了mysql軟件,參數文件放到了/etc/下,名為my.cnf

  1. innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /alidata1/mysqlbackup/mysql_full

--apply-log的作用是從指定的選項文件中讀取配置信息并應用日志等
--redo-only:如果還有其他增量備份集需要恢復,那么這個參數必選,它的作用是只應用redo,而不進行回滾。

增量恢復:

  1. innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /alidata1/mysqlbackup/mysql_full

還原:

  1. innobackupex --defaults-file=/etc/my.cnf --copy-back /alidata1/mysqlbackup/mysql_full

還原成功后會提示“completed OK!”字樣

修改權限:

  1. chown -R mysql:mysql /alidata1/mysqlbackup/mysql_full

啟動數據庫:

  1. mysqld_safe --defaults-file=/etc/my.cnf &

關于“如何通過innobackupex實現對MySQL的增量備份與還原”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI