当前位置:Gxlcms > 数据库问题 > xtrabackup备份mysql

xtrabackup备份mysql

时间:2021-07-01 10:21:17 帮助过:3人阅读

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

标签:--   .net   位置   nts   var   没有   find   基于   sql   

人气教程排行