mysql innobackupex 备份及恢复

时间:2021-11-06 03:15:22

----------------------------------全量备份恢复-------------------------------------
1.生成一个完整的备份
innobackupex --user=root --password=oracle /var/lib/backup/
2.生成innodb日志,使备份可用
innobackupex --use-memory=512m --apply-log /var/lib/backup/2015-10-07_22-16-51/
3.将现有数据文件备份到相应的备份文件
4.使用innobackupex命令恢复数据文件
innobackupex --copy-back /var/lib/backup/2015-10-07_22-16-51/
5.修改文件权限为mysql
chown -R mysql. *

6.启动数据库

----------------------------------增量备份恢复-------------------------------------

1.创建多个子目录
mkdir /var/lib/backup/{1,2,3}
2.生成一个完整的备份
innobackupex --user=root --password=oracle /var/lib/backup/1
3.创建增量备份
innobackupex --incremental /var/lib/backup/2 --incremental-basedir=/var/lib/backup/1/2015-10-08_00-04-29 --user=root --password=oracle
innobackupex --incremental /var/lib/backup/3 --incremental-basedir=/var/lib/backup/2/2015-10-08_00-08-16 --user=root --password=oracle
4.恢复增量备份(准备原始备份)
innobackupex --apply-log --redo-only /var/lib/backup/1/2015-10-08_00-04-29 --use-memory=500m --user=root --password=oracle
5.合并增量备份
innobackupex --apply-log --redo-only /var/lib/backup/1/2015-10-08_00-04-29/ --incremental-dir=/var/lib/backup/2/2015-10-08_00-08-16/ --use-memory=500m --user=root --password=oracle
innobackupex --apply-log --redo-only /var/lib/backup/1/2015-10-08_00-04-29/ --incremental-dir=/var/lib/backup/3/2015-10-08_00-10-33/ --use-memory=500m --user=root --password=oracle
6.生成最终备份
innobackupex --apply-log /var/lib/backup/1/2015-10-08_00-04-29 --use-memory=500m --user=root --password=oracle
7.将备份数据文件恢复并给相应的文件夹授权

----------------------------------相应参数说明-------------------------------------

--redo-only --apply-log组,
强制备份日志时只redo ,跳过rollback。这在做增量备份时非常必要。

--databases=LIST
列出需要备份的databases,如果没有指定该参数,所有包含MyISAM和InnoDB表的database都会被备份;

--use-memory=#
该参数在prepare的时候使用,控制prepare时innodb实例使用的内存量

--apply-log
这是备份时产生的日志,选项的命令是准备在一个备份上启动mysql服务

--copy-back
选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置