xtrabackup备份mysql

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xtrabackup备份mysql相关的知识,希望对你有一定的参考价值。

xtrabackup备份mysql
mysqldump基于逻辑备份,相当于将sql语句重新执行。xtrabackup相当于文件物理备份。

安装依赖
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

安装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-xtrabackup

全部备份可选参数--databases=xtra_test --host=192.168.200.51 --password=123456#

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

模拟写数据
insert into travelrecord(id,user_id,traveldate,fee,days) values(50004023,‘test‘,20160102,100,10);

基于全备的增量备份
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

将增量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
可以看到数据都在,模拟写入的数据也在。

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 stop
mv /var/lib/mysql /var/lib/mysqlold1
mkdir /var/lib/mysql
innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /backup/2018-01-23_21-44-19/
chown -R mysql:mysql /var/lib/mysql
service mysqld start
可以看到数据gogogo都在,模拟写入的数据也在。

以上是关于xtrabackup备份mysql的主要内容,如果未能解决你的问题,请参考以下文章

MySQL物理备份 xtrabackup

MySQL物理物理备份与还原工具xtraBackup

MySQL备份使用XtraBackup物理备份MySQL的流程

MySQL的备份还原(xtrabackup)

MySQL之Xtrabackup备份与恢复

mysql之Xtrabackup备份及增量备份