本文共 2985 字,大约阅读时间需要 9 分钟。
XtraBackup是Percona公司开发的一款开源数据库备份工具,专为InnoDB和XtraDB存储引擎设计,支持在线热备份,能够在不影响数据库读写的前提下完成数据备份。这款工具在短短几年后便成为MySQL社区的主流备份解决方案之一,但随着时间推移,部分细节可能已有所遗忘。在此,我将重新拾起XtraBackup的相关知识,并结合实际使用场景对其功能、安装和操作流程进行详细说明。
XtraBackup分为两大核心工具:
.frm
文件)。对于大多数操作系统,用户可以通过以下步骤完成安装:
# 下载最新版本(以2.1.9为例)wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.9/binary/Linux/x86_64/percona-xtrabackup-2.1.9-744-Linux-x86_64.tar.gz# 解压安装包tar zxvf percona-xtrabackup-2.1.9-744-Linux-x86_64.tar.gz# 查看安装目录结构ls-lh
安装完成后,可以通过以下命令将innobackupex
和xbcrypt
等工具移到/usr/bin
目录:
cp innobackupex-1.5.1/usr/bin/innobackupex /usr/bincp xtrabackup_55 /usr/bin/xtrabackup
在Ubuntu系统中,可以通过添加Percona的官方仓库进行安装:
# 添加仓库源apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A2echo "deb http://repo.percona.com/apt precise main" >> /etc/apt/sources.listecho "deb-src http://repo.percona.com/apt precise main" >> /etc/apt/sources.list# 更新仓库缓存apt-get update# 安装软件包apt-get install percona-xtrabackup
支持的版本涵盖多个Linux发行版,具体版本需根据系统类型调整仓库源。
innobackupex
命令提供了丰富的参数选项,主要包括:
--defaults-file
:指定MySQL配置文件路径。--apply-log
:在备份完成后,自动回滚未提交的事务。--copy-back
:支持将备份文件复制回数据库目录。--stream
:指定备份文件的输出格式(如tar
)。--tmpdir
:指定临时文件存储目录,避免/tmp
空间不足问题。--databases
:指定需要备份的数据库列表。--slave-info
:支持从库备份。innobackupex --defaults-file=/etc/mysql/my.cnf --databases=* /path/to/backups/
innobackupex --defaults-file=/etc/mysql/my.cnf --incremental --incremental-basedir=/path/to/full_backup/ /path/to/incremental_backups/
注意:增量备份仅针对InnoDB数据库,MyISAM仍需全量备份。
innobackupex --stream=tar /path/to/backups/ | tar cvf /path/to/xtra_test.tar
innobackupex --stream=tar /path/to/backups/ | gzip > /path/to/xtra_test.tar.gz
tar ixvf /path/to/xtra_test.tar.gz
innobackupex --defaults-file=/etc/mysql/my.cnf --databases=xtra_test /path/to/backups/
innobackupex --apply-log /path/to/backups/
注意:还原前需确保目标目录为空,避免数据覆盖。
innobackupex --defaults-file=/etc/mysql/my.cnf --incremental --incremental-basedir=/path/to/full_backup/ /path/to/incremental_backups/
innobackupex --apply-log /path/to/full_backup/ --incremental-dir=/path/to/incremental_backups/
注意:增量备份的还原需依次应用所有相关日志文件。
--stream
参数选择不同的压缩格式(如tar
、gzip
等)。cp -R xtra_test /var/lib/mysql/chown -R mysql:mysql /var/lib/mysql/xtra_test/
/etc/init.d/mysql start
--apply-log
时,需确保目标目录为空或已清空。通过以上命令和操作步骤,您可以轻松掌握XtraBackup的使用方法,并在实际项目中高效地进行数据库备份和恢复。
转载地址:http://igffk.baihongyu.com/