Percona-xtrabackup2.4 备份
Percona-xtrabackup2.4
Note:
- percona-xtrabackup8.x 支持mysql8.x
- percona-xtrabackup2.4支持mysql5.1、5.5、5.6、5.7
- 2.4支持热备innodb、xtradb
- Myisam需要read-lock,暂停写执行
- Xtrabackup是单个得执行命令
- Innobackup是xtrabackup得perl脚本
授权
mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;
也就是说只要有RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT四个权限得用户就可以进行备份操作
配置
可以在数据库my.cnf配置中得[xtrabackup]段中直接给定备份路径
[xtrabackup]
target_dir = /data/backups/mysql/
该配置文件只对xtrabackup单个命令生效,如果使用innobackup则需要直接通过路径指明
备份路径下得文件说明
backup-my.cnf 备份得配置文件
ib_buffer_pool stores tablespace ID and page ID data used to warm up the buffer pool sooner.
xtrabackup_binlog_info 指名bin_log and position
xtrabackup_checkpoints 指明备份类型以及开始与结束的位置
xtrabackup_info 记录备份信息
Innobackup 脚本备份命令
创建全备份
$ innobackupex --user=DBUSER --password=DBUSERPASS /path/to/BACKUP-DIR/
--socket=/tmp/mysql.sock sock文件路径
--no-timestamp 在指定路径下备份,不生产时间文件
--apply-log 对备份好的文件做恢复准备,保证未完成的事务撤销
全备恢复准备
innobackupex --apply-log /backup/2020-04-15_21-47-24/
恢复全备
innobackupex --copy-back /backup/2020-04-15_21-47-24/
一次增量备份
innobackupex --incremental /backup/ --incremental-basedir=/backup/2020-04-15_21-47-24【全备的目录】/
注意:第二次增量备份时,增量的基础目录是第一次增量后的目录
一次增量恢复准备
innobackupex --apply-log --redo-only /backup/2020-04-15_21-47-24【全备的目录】/
准备全备的备份
innobackupex --apply-log --redo-only /backup/2020-04-15_21-47-24/ --incremental-dir=/backup/2020-04-19_23-24-59【第一次增备的目录】/
增加第一次增备到全备
恢复一次增备
innobackupex --copy-back /backup/2020-04-15_21-47-24/
二次增量备份
innobackupex --incremental /backup/ --incremental-basedir=/backup/2020-04-19_23-24-59【第一次增量备份的目录】/
第二次增量备份恢复准备
innobackupex --apply-log --redo-only /backup/2020-04-15_21-47-24/ --incremental-dir=/backup/2020-04-19_23-49-39【第二次增量备份的目录】/
基于第一次的增备,将第二次的增备准备到全备
恢复第二次增备
innobackupex --copy-back /backup/2020-04-15_21-47-24/