xtrabackup備份mysql

xtrabackup備份mysql
mysqldump基於邏輯備份,至關於將sql語句從新執行。xtrabackup至關於文件物理備份。mysql

安裝依賴
wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm linux

安裝xtrabackup
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum list | grep percona
yum install percona-xtrabackupsql

所有備份可選參數--databases=xtra_test --host=192.168.200.51 --password=123456#app

innobackupex --defaults-file=/etc/my.cnf --user=root /backup
生成全備文件/backup/2018-01-23_21-16-32ide

模擬寫數據
insert into travelrecord(id,user_id,traveldate,fee,days) values(50004023,'test',20160102,100,10);post

基於全備的增量備份
innobackupex --defaults-file=/etc/my.cnf --user=root --incremental --incremental-basedir=/backup/2018-01-23_21-16-32 /backup/zengliang
生成文件/backup/zengliang/2018-01-23_21-25-20測試

檢查完備的數據一致性
innobackupex --apply-log --redo-only /backup/2018-01-23_21-16-32.net

將增量1應用到徹底備份(最後一次沒有--fedo-only)
innobackupex --apply-log /backup/2018-01-23_21-16-32 --incremental-dir=/backup/zengliang/2018-01-23_21-25-20日誌

還原數據
service mysqld stop
mv /var/lib/mysql /var/lib/mysqlold
mkdir /var/lib/mysql
innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /backup/2018-01-23_21-16-32
chown -R mysql:mysql /var/lib/mysql
service mysqld start
能夠看到數據都在,模擬寫入的數據也在。rem

xtrabackup_binlog_info:記錄當前最新的LOG Position
xtrabackup_binlog_pos_innodb:innodb log postion
xtrabackup_checkpoints: 存放備份的起始位置beginlsn和結束位置endlsn,增量備份須要這個lsn[增量備份能夠在這裏面看from和to兩個值的變化
xtrabackup_info:備份的一些具體信息日誌

再測試作一次徹底備份的恢復
模擬寫數據
insert into travelrecord(id,user_id,traveldate,fee,days) values(50004063,'gogogo',20160102,100,10);
innobackupex --defaults-file=/etc/my.cnf --user=root /backup
生成文件/backup/2018-01-23_21-44-19/

檢查完備的數據一致性innobackupex --apply-log --redo-only /backup/2018-01-23_21-44-19/還原數據service mysqld stopmv /var/lib/mysql /var/lib/mysqlold1mkdir /var/lib/mysqlinnobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /backup/2018-01-23_21-44-19/chown -R mysql:mysql /var/lib/mysqlservice mysqld start能夠看到數據gogogo都在,模擬寫入的數據也在。

相關文章
相關標籤/搜索