innobackupex備份(全備 增量備)與恢復

2021-10-11 04:25:54 字數 2491 閱讀 3678

安裝教程請檢視這篇文章

innobackupex備份選項

--user=     #指定資料庫備份使用者

--password= #指定資料庫備份使用者密碼

--port= #指定資料庫埠

--host= #指定備份主機

--socket= #指定socket檔案路徑

--databases= #備份指定資料庫,多個空格隔開,如–databases=」dbname1 dbname2″,不加備份所有庫

--defaults-file= #指定my.cnf配置檔案

--incremental= #增量備份,後跟增量備份路徑

--incremental-basedir= #增量備份,指上次增量備份路徑

--redo-only #合併全備和增量備份資料檔案

--copy-back #將備份資料複製到資料庫,資料庫目錄要為空

--move-back #這個選項與--copy-back相似,唯一的區別是它不拷貝檔案,而是移動檔案到目的地。這個選項移除backup檔案,用時候必須小心。使用場景:沒有足夠的磁碟空間同事保留資料檔案和backup副本

--no-timestamp #生成備份檔案不以時間戳為目錄名

--stream= #指定流的格式做備份,–stream=tar,將備份檔案歸檔

--remote-host=user@ip dst_dir #備份到遠端主機

全量備份:

innobackupex  --defaults-file=/etc/my.cnf --user=root --password=your_passwd  --socket=/usr/local/mysql/data/mysql.sock /data/backup/ 

#填上自己的使用者,密碼,mysql的socket的路徑,備份存放路徑

增量備份:

innobackupex --defaults-file=/etc/my.cnf --user=root --password=your_passwd --socket=/usr/local/mysql/data/mysql.sock --incremental /data/backup/increment_data/ --incremental-basedir=/data/backup/2020-12-03_15-01-31/ #指定上次完整備份目錄

#其中,--incremental指明是增量備份,--incremental-basedir指定上次完整備份或者增量備份檔案的位置。這裡的增量備份其實只針對的是innodb,對於myisam來說,還是完整備份。

再次增量備份

innobackupex --defaults-file=/etc/my.cnf --user=root --password=your_passwd --socket=/usr/local/mysql/data/mysql.sock --incremental /data/backup/increment_data/ --incremental-basedir=/data/backup/increment_data/2020-12-03_15-41-46/   #指定上次增量備份目錄
檢視xtrabackup_checkpoints檔案

檢視日誌序號來增量備份

恢復步驟:將增量備份1、增量備份2…合併到完整備份,加到一起出來乙個新的完整備份,將新的完整備份恢復到資料庫空目錄

預備完整備份

合併第乙個增量備份到完整備份

合併第二個增量備份新的完整備份(注意:最後一次合併我沒有加–redo-only)

注意說明:

如果最後一次應用日誌時沒有加–redo-only那麼以下操作可以省略;如果最後一次加了,可以使用以下語句進行回滾操作,回滾未提交的事務:

恢復最新的完整備份到資料庫

systemctl stop mysqld

mv /usr/local/mysql/data /usr/local/mysql/databak (或者直接rm -rf)

mkdir /usr/local/mysql/data

innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/2020-12-03_15-01-31/

chown -r mysql.mysql /usr/local/mysql/data

systemctl start mysqld

innobackupex在新版本中已經移除,建議通過xtrabackup替換innobackupex。

xtrabackup在操作參考如下文章

innobackupex全量備份和增量備份指令碼

每週六凌晨一次的全備份。20 4 6 root fullbackupdata.sh 資料庫全備份的指令碼 bin bash dateformat date y m d direc mnt backup fulldir direc full logdir home backuplog fulllog ...

innobackupex備份恢復詳解

不想多說什麼沒用的,直接看實際操作吧。還是說一句吧,就一句,innobackupex在備份過程中,會給非innodb表上讀鎖,會給innodb表上元資料資訊鎖。最下面有張備份的過程詳細圖,可以看一下 環境 10.186.20.45 3309 test.t insert into t select 8...

資料庫備份工具innobackupex

一 了解innobackupex 1 mysqldump mysql邏輯備份工具,作用於伺服器本地,不需要額外安裝外掛程式 可以單錶備份,備份為sql檔案形式 方便,在多個場景通用 可通過shell命令實現定時備份,但備份時如果使用者有操作,容易造成髒資料 將資料庫備份到伺服器本地sql檔案,屬於邏...