xtrabackup备份原理

2024年 6月 27日 57.5k 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/

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论