xtrabackup备份原理

2天前 7.8k 0

XtraBackup是一个用于MySQL和Percona Server的开源热备份工具,它由Percona开发。XtraBackup支持两种备份类型:完整备份(full backup)和增量备份(incremental backup)。

备份原理:

  1. xtrabackup在备份过程中,会复制innodb的data file,由于是物理复制,因此能够在非常短的时间内完成备份。

  2. 对于MyISAM引擎的表,xtrabackup会进行COPY数据文件的方式进行备份。

  3. xtrabackup在备份过程中,会记录备份点,并且能够支持创建多个备份点。

  4. xtrabackup在备份innodb的同时,还会保存所有的binlog日志,用于恢复后应用。

  5. xtrabackup在备份过程中,会锁定表不能写入,因此对线上业务影响较大,建议在业务低峰时段进行备份。

实例代码:

# 完整备份

innobackupe-1.5.1 --user=DBUSER --password=DBPASS /path/to/BACKUP-DIR/

# 增量备份
innobackupe-1.5.1 --user=DBUSER --password=DBPASS --incremental /path/to/BACKUP-DIR/ --incremental-basedir=/path/to/BACKUP-DIR/base_backup_dir

恢复原理:

  1. xtrabackup在恢复过程中,会逐个应用binlog日志,并且重新应用redo log,最终恢复数据到指定的状态。

  2. 对于innodb表,xtrabackup会重新apply redo log。

  3. 对于MyISAM表,xtrabackup会COPY回原来的数据文件。

实例代码:

# 恢复

innobackupe-1.5.1 --apply-log /path/to/BACKUP-DIR/

# 备份移动到数据目录

innobackupe-1.5.1 --copy-back /path/to/BACKUP-DIR/

相关文章

openGauss数据库源码解析系列文章——SQL引擎源码解析(二)
openGauss资料捉虫活动来袭,你准备好了吗?
HR Schema for openGauss
W1TTY 利用 Oracle 为客户提供更好的数字银行体验
[译文] 在 Oracle Linux 上安装 Oracle Database 21c
windows平台关闭Oracle数据库hang住

发布评论