开心123 发表于 2018-10-3 12:47:16

xtrabackup备份mysql

  xtrabackup备份mysql
  mysqldump基于逻辑备份,相当于将sql语句重新执行。xtrabackup相当于文件物理备份。
  安装依赖
  wgetftp://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都在,模拟写入的数据也在。

页: [1]
查看完整版本: xtrabackup备份mysql