千家信息网

如何通过xtrabackup实现对mysql备份及数据一致性校验

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文主要给大家简单讲讲如何通过xtrabackup实现对mysql备份及数据一致性校验,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何通过xtrab
千家信息网最后更新 2026年11月02日如何通过xtrabackup实现对mysql备份及数据一致性校验

本文主要给大家简单讲讲如何通过xtrabackup实现对mysql备份及数据一致性校验,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何通过xtrabackup实现对mysql备份及数据一致性校验这篇文章可以给大家带来一些实际帮助。

Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对MyISAM的备份同样需要加表锁)。

与mysqldump备份方式相对比,mysqldump是逻辑备份,备份和恢复速度慢,但备份文件占用空间小。而Xtrabackup是物理备份,直接拷贝相关文件,备份还原快,备份文件占用空间大。

Xtrabackup安装完成后,有两个比较重要的备份工具是innobackupex和xtrabackup。其中,innobackupex是perl脚本对xtrabackup的封装和功能扩展。

Xtrabackup的安装

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/6/x86_64/Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar

tar zxvf percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz

Xtrabackup备份预备工作

xtrabackup需要连接到数据库和datadir的操作权限,在使用过程中主要涉及到两类用户权限: 1,系统用户(用来执行xtrabackup或者innobackupex);2,数据库用户(数据库内使用的用户)。

创建一个备份用户

mysql>CREATE USER 'bkuser'@'ip' identified by 'password';

mysql>grant reload,lock tables,replication client on *.* 'bkuser'@'ip' identified by 'password';

mysql>flush privileges;

开始全备

innobackupex --defaults-file=/etc/my.cnf --user=DBUSER --password=DBUSERPASS --slave-info --safe-slave-backup --parallel=4 --no-timestamp --backup --rsync /path/to/BACKUP-DIR

--slave-info这个参数适用的场景:假设现在有主库A和从库B,目前想再添加一台备库C,并让备库C以主库A为master;因为主库A是生产库,压力一般比较大,所以我们就在备库B上备份一个数据库,然后把这个备份拿到C云服务器上 并导入到C库,接下来再在C云服务器上执行change master的命令:其中 master_host是A的ip,而master_log_file和master_log_pos就是这个xtrabackup_slave_info里面的值。

--rsync 这个参数一般用作分布式数据库集群的时候

创建完备份后,此时的备份数据还不能用于还原。需要回滚未提交的事物,重做已提交的事物,让数据库文件保持一致性。

innobackupex --apply-log --use-memory 4G /path/to/BACKUP-DIR

--use-memory:指定预备阶段可使用的内存,内存多则速度快,默认10MB。

恢复数据

#恢复数据之前需要保证数据目录是空的状态,还原时需要先关闭服务

[root@centos ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back /path/to/BACKUP-DIR


#还原过去后默认是root权限,因此要修改属组和属主

chown -R mysql.mysql /data/dbdata

/etc/rc.d/init.d/mysqld start

Xtrabackup增量备份与恢复

#需要注意的是,在增量备份前需要一个全备,不然增量备份是没有意义的。而且增量备份仅能应用于InooDB或XtraDB表,对于MyISAM表,增量与全备相同


[root@Vcentos ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password= PWD --incremental /backup/ --incremental-basedir=/path/to/BACKUP-DIR

#--incremental /backup/ 指定增量备份文件备份的目录

#--incremental-basedir 指定上一次全备或增量备份的目录

查看binlog的位置 与 datadir 的位置, 防止 mv datadir时误操作 binlog ,影响恢复 (binlog与datadir一定要分开放置)

show variables like '%log_bin%';

show variables like '%datadir%';

预备增量备份

预备增量备份需要两个步骤

  1. 需要先预备全备,但是只重做已提交事物,不回滚未提交事物。然后应用到全备,也是只重做已提交事物,不回滚未提交事物。

  2. 回滚未提交事物

在全备上,使用--redo-only只重做已提交事物,不回滚未提交事物。

[root@Vcentos ~]# innobackupex --apply-log --redo-only /path/to/BACKUP-DIR

应用增量备份

[root@Vcentos ~]# innobackupex --apply-log /path/to/BACKUP-DIR --incremental-dir=/path/to/BACKUP-DIR

应用增量备份时,只能按照备份的顺序来应用,如果顺序错误,则备份不可用。可以使用xtrabackup-checkpoints来确定顺序。

如果该备份不是最后一个增量备份,需要加--redo-only,

还原增量备份

[root@centos ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back /path/to/BACKUP-DIR


详细使用说明见https://max.book118.com/html/2017/0522/108428582.shtm

innobackupex备份+binlog日志的完全恢复 参见https://blog.csdn.net/zhang123456456/article/details/72954519


mysql主从复制数据一致性校验和修复方法及自动化实现参见https://blog.csdn.net/hangxing_2015/article/details/52585855

xtrabackup备份还原详见https://www.cnblogs.com/zhoujinyi/p/5893333.html

mysql单表备份及恢复详见https://blog.csdn.net/u012104666/article/details/80407953


innobackupex --defaults-file=/etc/my.cnf --databases="" --user --password --parallel=4 /mysql_backup/backup

tar -cvf - xxx | pigz -p 8 > xxx.tar.gz

tar --use-compress-program=pigz -xvpf xxx.tar.gz

innobackupex --defaults-file=/etc/my.cnf --use-memory=1G --apply-log xxx

innobackupex --defaults-file=/etc/my.cnf --user= --password= --copy-back /mysql_fullbackup/xxx


二进制日志格式 备份 从库

如何通过xtrabackup实现对mysql备份及数据一致性校验就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

备份 数据 增量 事物 数据库 全备 一致 一致性 文件 用户 应用 预备 权限 目录 顺序 服务 专业 两个 位置 内存 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 广州大一互联网络科技有限公司 深圳恒合互联网络科技有限公司 互联网科技行业发展 互联网巨头科技公司 互联网科技公司官网 中国互联网科技发展 齐家互联网科技有限公司 科技互联网创业计划书 多迪互联网科技有限公司 丰台科技园 互联网公司 海南购全球互联网科技 互联网科技热点资讯 济南有互联网科技公司吗 群盈汇互联网科技有限公司 银行科技岗属于互联网吗 广州富喜互联网络科技 广州百诚互联网科技有限公司官网 求路客互联网科技电话 小牛互联网科技有限公司地址 善班互联网科技有限公司 菲比寻常互联网科技 左右互联网络科技 哈尔滨新华互联网科技 科技与互联网的利与弊 西藏七维空间互联网科技有限公司 浙江互联网科技研学营 恒生互联网科技业指数调整周期 中天科技中国工业互联网 数字科技和互联网金融哪个好
0