暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

xtrabackup备份原理

liyuan 2024-06-27
46

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/

复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论