您好,登錄后才能下訂單哦!
本文以簡單直接給力為目的。
1、配置網絡yum源(保證虛擬機聯網)
rm -rf /etc/yum.repos.d/*
wget –P /home/backup/ http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
cd /etc/yum.repos.d/
mv CentOS6-Base-163.repo CentOS6-Base.repo
yum clean all
yum makecache
2、安裝Xtrabackup工具。
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz
tar zxvf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz -C /usr/src/
cd /usr/src/
cd percona-xtrabackup-2.4.4-Linux-x86_64/
cp bin/* /usr/bin/
cd /usr/src/
wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm
yum install -y perl*
rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm
3、全備+兩次增量備+二進制日志備份。
mkdir-pv /opt/mysqlbackup/{full,inc,binlog}
mysql-uroot -p123456
mysql>createdatabase xingjun;
mysql>createtable shengong(id int(10),name varchar(20));
mysql>insertinto shengong values(1,'yi');
mysql>select* from shengong;
mysql>exit;
全備:
innobackupex--user=root --password=123456 /opt/mysqlbackup/full/
再次添加數據:
mysql-uroot -p123456
mysql>usexingjun;
mysql>insertinto shengong values(2,'er');
mysql>select* from shengong;
mysql>exit;
第一次增量備份:
innobackupex--user=root --password='123456' --incremental /opt/mysqlbackup/inc/--incremental-basedir=/opt/mysqlbackup/full/2017-07-09_10-50-00/
注:2017-07-09_10-50-00此文件為全備。
mysql-uroot -p123456
mysql>usexingjun;
mysql>insertinto shengong values(3,'san');
mysql>select* from shengong;
mysql>exit;
第二次增量備份:
innobackupex--user=root --password='123456' --incremental /opt/mysqlbackup/inc/--incremental-basedir=/opt/mysqlbackup/inc/2017-07-09_10-50-46/
注:2017-07-09_10-50-46此文件為第一次增量備份。
mysql-uroot -p123456
mysql>usexingjun;
mysql>insertinto shengong values(4,'si');
mysql>select* from shengong;
mysql>exit;
二進制文件備份:
cp/usr/local/mysql/data/mysql-bin.000001 /opt/mysqlbackup/binlog/
4、模擬數據丟失。
servicemysqld stop
rm-rf /usr/local/mysql/data/*
5、當當當、重點來了、恢復數據。
恢復前準備:
innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/
注:2017-07-09_10-50-00此為全備。
innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/--incremental-dir=/opt/mysqlbackup/inc/2017-07-09_10-50-46/
注:2017-07-09_10-50-46此為第一次增量備份。
innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/--incremental-dir=/opt/mysqlbackup/inc/2017-07-09_10-54-58/
注:2017-07-09_10-54-58此為第二次增量備份。
innobackupex--apply-log /opt/mysqlbackup/full/2017-07-09_10-50-00/
注:2017-07-09_10-50-00此為全備。
開始恢復數據:
innobackupex--copy-back /opt/mysqlbackup/full/2017-07-09_10-50-00/
注:2017-07-09_10-50-00此為全備。
6、驗證。
chown-R mysql:mysql /usr/local/mysql/data/
mysql-uroot -p123456
mysql>usexingjun;
mysql>select* from shengong;
mysql>exit;
經查看數據庫中有三條數據,此時全備+兩次增量備份大功告成。
7、通過二進制日志恢復最后數據。
mysqlbinlog/usr/local//mysql/data/mysql-bin.000001 > /opt/mysqlbackup/binlog/`date+%F`.sql
查看第二次增量備份的二進制日志信息和position信息:
cat/opt/mysqlbackup/inc/2017-07-09_10-54-58/xtrabackup_info
注:xtrabackup_info其中的一行信息為:binlog_pos = filename'mysql-bin.000001', position '1040'
vi/opt/mysqlbackup/binlog/2017-07-09.sql
從# at ##開始刪除,一直刪除到# at 1040,包括# at 1040。
注:以下為2017-07-09.sql文件信息。
#at 205
#17070910:55:53 server id 1 end_log_pos 320 CRC32 0x07b5d487 Query thread_id=2exec_time=1380 error_code=0
use`xingjun`;
SETTIMESTAMP=1499612153;
insertinto shengong values(10,'d')
;
然后保存退出。
開始恢復:
mysql-uroot -p123456
mysql>set sql_log_bin=0;
mysql>usexingjun;
mysql>source/opt/mysqlbackup/2017-07-09.sql
mysql>select* from shengong;
mysql>set sql_log_bin=1;
mysql>exit;
經查看數據庫中有四條數據,此時全備+兩次增量備份+二進制日志備份大功告成。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。