您好,登錄后才能下訂單哦!
一:什么是xtrabackup
XtraBackup 是一個用來備份 MySQL 的工具。對mysql的MYISAM引擎只支持完全備份,對innodb不僅支持完全備份,也支持增量備份,是一個全自動的工具。
二:安裝xtrabackup
在percona公司官網上下載xtrabackup備份工具,
percona-xtrabackup-2.0.0-417 //支持mysql-5.5
rpm包進行安裝
安裝時有依賴性,
解決三個依賴性
1,libaio.1
2.perl-DBD-Mysql
3.linev.so.4 //需要從網上下載 yum源沒有
三:xtrabackup 的使用
innobackupex是xtrabackup的一個perl腳本。
實戰一:
完全備份數據庫
innobackupex --user=root --password=*** /backup/ //備份的路徑
一般情況下,在備份完成后,要做回滾,防止有的事務沒有提交,解決不同步問題。
innobackupex --apply-log /backup/2015....
連接數據庫刷新日志文件
flush logs;
備份二進制文件
cp /mysql-bin-00003 /backup/
mysqlbinlog mysql-bin-00004 > abc.sql
模擬數據庫損壞
rm -fr /mydata/data //mysql的數據文件
此時關閉 和 開啟服務異常
killall mysqld
還原數據庫
還原時不要求數據庫服務正常狀態,但備份是要求,
innobackup --copy-back /backup/2015....
chown mysql.mysql /mydata/data -R
/etc/init.d/mysqld start
數據庫正常
利用二進制文件,恢復數據(完全備份后對數據庫還進行操作)
set sql_log_bin=0 //不記錄二進制日志
source /backup/abc.sql
set sql_log_bin=1 //恢復正常
實戰二:
xtarbackup 做增量備份
innobackup --incremental /backup --incremental-basedir=/backup/2016... 完全備份的文件
innobackupex --incremental /backup/ --incremental-basedir=/backup/2016-05-15_15-30-23/
第一次增量指向完全備份的文件
第二次增量備份的時后要指定第一次增量備份的文件
在損壞可以 完全+增量+二進制
恢復:
準備 只指定redo操作
有增量備份的時候只指定redo操作 因為完全沒有提交操作而增量提交了事務
innobackupex --apply-log --redo-only /backup/2016-05-15_15-30-23/
innobackupex --apply-log --redo-only /backup/2016-05-15_15-30-23/ --incremental-dir=/backup/2016-05-15_15-35-25/
所有的提交動作到備份到完全備份文件上
還原時只用還原完全備份的文件 --copy-back
還原時 指定第一次完全的文件。在其后追加,和備份時不同
420 innobackupex --apply-log -redo-only /backup/2016-05-15_16-05-22/ --incremental-dir=/backup/2016-05-15_16-13-46/
421 ls
422 rm -fr *
423 innobackupex --copy-back /backup/2016-05-15_16-05-22/
424 ls
425 chown mysql.mysql
426 chown mysql.mysql . -R
427 mysqlls
428 ls
429 rm -fr *
430 innobackupex --copy-back /backup/2016-05-15_16-05-22/
431 ls
432 chown mysql.mysql . -R
433 killall mysqld
434 /etc/init.d/mysqld start
435 mysql
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。