標籤:mysql備份 還原 備份工具使用xtrabackup
mysql大資料備份和增量備份及還原
Xtrabackup實現是物理備份,而且是物理熱備
目前主流的有兩個工具可以實現物理熱備:ibbackup和xtrabackup ;ibbackup是需要授權價格昂貴,而xtrabackup功能比ibbackup強大而且是開源的
Xtrabackup提供了兩種命令列工具:
xtrabackup:專用於備份InnoDB和XtraDB引擎的資料;
innobackupex:這是一個perl指令碼,在執行過程中會調用xtrabackup命令可以實現備份InnoDB,也可以備份MyISAM引擎的對象
Xtrabackup是由percona提供的mysqlDatabase Backup工具,特點:
(1)備份過程快速、可靠;
(2)備份過程不會打斷正在執行的事務;
(3)能夠基於壓縮等功能節約磁碟空間和流量;
(4)自動實現備份檢驗;
(5)還原速度快。
使用指令碼完整備份資料庫
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9A/E9/wKiom1lcMXGjUDgIAAB8XTPWDLo884.png" title="圖片1.png" alt="wKiom1lcMXGjUDgIAAB8XTPWDLo884.png" />
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9A/E9/wKiom1lcMXzxMNkBAAAQ5oI1nkc498.png" title="圖片2.png" alt="wKiom1lcMXzxMNkBAAAQ5oI1nkc498.png" />
執行指令碼
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9A/E9/wKioL1lcMYyyLWzgAAAJarRDkz4740.png" title="圖片3.png" alt="wKioL1lcMYyyLWzgAAAJarRDkz4740.png" />
查看目錄裡是不是成功
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9A/E9/wKioL1lcMZmTEY1gAAAPEDxUi04924.png" title="圖片4.png" alt="wKioL1lcMZmTEY1gAAAPEDxUi04924.png" />
啟動二進位檔案、重啟服務
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9A/E9/wKioL1lcMaOzABNCAAALgzqMlec517.png" title="圖片5.png" alt="wKioL1lcMaOzABNCAAALgzqMlec517.png" />
建立資料庫、表、插入資料
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9A/E9/wKioL1lcMbOA2Y5pAAAY-LYYXfw554.png" title="圖片6.png" alt="wKioL1lcMbOA2Y5pAAAY-LYYXfw554.png" />
的資料是備份之前的,還有增量備份,下面介紹
安裝備份資料庫的軟體包
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9A/E9/wKiom1lcMb2SCSikAAAlv8lTC0w457.png" title="圖片7.png" alt="wKiom1lcMb2SCSikAAAlv8lTC0w457.png" />
tar zxf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.4.4-Linux-x86_64/
cp bin/* /usr/bin/
使用yum安裝依賴包
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9A/E9/wKiom1lcMcviHN0OAABA_629Aug752.png" title="圖片8.png" alt="wKiom1lcMcviHN0OAABA_629Aug752.png" />
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9A/E9/wKioL1lcMdayOedHAAAqMftOsZs734.png" title="圖片9.png" alt="wKioL1lcMdayOedHAAAqMftOsZs734.png" />
建立備份目錄(full:全備存放的目錄,inc:增量備份存放的目錄)
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/9A/E9/wKioL1lcMeOQoIFDAAAe_5fNJw8370.png" title="圖片10.png" alt="wKioL1lcMeOQoIFDAAAe_5fNJw8370.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9A/E9/wKiom1lcMe2zLX1tAAAMKEicGGM343.png" title="圖片11.png" alt="wKiom1lcMe2zLX1tAAAMKEicGGM343.png" />
結尾出現一個OK就表示已經好了,
查看全備目錄下備份的東西
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9A/E9/wKioL1lcMfajNDkoAAAoVX_ddnE132.png" title="圖片12.png" alt="wKioL1lcMfajNDkoAAAoVX_ddnE132.png" />
xtrabackup_checkpoints--備份類型、備份狀態、lsn範圍資訊
xtrabackup_binlog_info--mysql伺服器當前正在使用的二進位記錄檔及至備份這一刻為止二進位日誌事件的位置。
xtrabackup_binlog_pos_innodb -- 二進位記錄檔及用於InnoDB或XtraDB表的二進位記錄檔的當前position。
xtrabackup_binary -- 備份中用到的xtrabackup的可執行檔;
backup-my.cnf --備份命令用到的配置選項資訊;
查看info裡的記錄檔的編號
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9A/E9/wKiom1lcMhehSzwNAAAKszKPcOE088.png" title="圖片13.png" alt="wKiom1lcMhehSzwNAAAKszKPcOE088.png" />
在資料庫中插入新的資料
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9A/E9/wKioL1lcMiKDFeqGAAATa89ut2Y845.png" title="圖片14.png" alt="wKioL1lcMiKDFeqGAAATa89ut2Y845.png" />
備份增量二進位檔案
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/9A/E9/wKioL1lcMi2QZzsnAAAOg5mGo7A443.png" title="圖片15.png" alt="wKioL1lcMi2QZzsnAAAOg5mGo7A443.png" />
還原資料庫
為了資料庫有保障性 我們把資料庫的資料mv移走
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9A/E9/wKiom1lcMjfRDU99AAAYiNljBLs558.png" title="圖片16.png" alt="wKiom1lcMjfRDU99AAAYiNljBLs558.png" />
準備恢複資料庫
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9A/E9/wKiom1lcMkySKqzuAAAYBjdFOQ4721.png" title="圖片17.png" alt="wKiom1lcMkySKqzuAAAYBjdFOQ4721.png" />
註:上面只是一部分,還有還多輸出內容沒截
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9A/E9/wKiom1lcMmTyQmrYAAAEOZ0_XCs460.png" title="圖片18.png" alt="wKiom1lcMmTyQmrYAAAEOZ0_XCs460.png" />
看到ok就可以了
還原資料庫
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9A/E9/wKioL1lcMnPzGU5OAAALgLJy3eU320.png" title="圖片19.png" alt="wKioL1lcMnPzGU5OAAALgLJy3eU320.png" />
查看資料庫目錄資料
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9A/E9/wKioL1lcMn7Q4gZiAAAegpZtwCc054.png" title="圖片20.png" alt="wKioL1lcMn7Q4gZiAAAegpZtwCc054.png" />
可以看出資料已經恢複,但是屬主屬組是root,因為是用root使用者還原的,修改屬主屬組
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9A/E9/wKiom1lcMobzoqp4AAAfnhCZ6Q8102.png" title="圖片21.png" alt="wKiom1lcMobzoqp4AAAfnhCZ6Q8102.png" />
重啟資料庫systemctl restart mysqld
查看資料庫中的資料
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9A/E9/wKioL1lcMo_yZNTPAAAVoBRDV9Y811.png" title="圖片22.png" alt="wKioL1lcMo_yZNTPAAAVoBRDV9Y811.png" />
還原增量資料備份
註:還原增量備份時會產生很多二進位檔案,關閉二進位檔案
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9A/E9/wKiom1lcMpnRA80uAAAzk4XH7aY507.png" title="圖片23.png" alt="wKiom1lcMpnRA80uAAAzk4XH7aY507.png" />
然後開啟二進位檔案查看資料是否恢複
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/9A/E9/wKiom1lcMqSRWeeUAAALUZYWCWo522.png" title="圖片24.png" alt="wKiom1lcMqSRWeeUAAALUZYWCWo522.png" />
本文出自 “centos7” 部落格,轉載請與作者聯絡!
mysql大資料備份與還原(二)