XtraBackup备份工具(percona)

本文详细介绍Percona提供的XtraBackup工具,适用于生产环境的在线热备份解决方案。文章涵盖安装步骤、基本选项说明及完全备份与恢复、增量备份与恢复的操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XtraBackup工具

专业组织Percona提供的一款在线热备份工具,备份过程中不锁表,适合生产环境

组件

xtrabackup : C程序,支持InnoDB,XtraDB

innobackupex :用perl脚本封装的xtrabackup,除了支持InnoDB 还支持MyISAM

安装percona

[root@mysql50 ~]#rpm -ivh ibev-4.15-1.el6.rf.x86_64.rpm   
[root@mysql50 ~]#yum -y install perl-DBD-MySQL  perl-Digest-MD5-2.52-3.el7.x86_64 
[root@mysql50 ~]#percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm      
[root@mysql50 ~]#man innobackupex             //查看man帮助

基本选项

选项含义
--host主机名
--user用户名
--port端口号
--password密码
--databases数据库名  --databases={“库名” 单个库   “库1 库2” 多个库   “库.表”单个表}
--no-timestamp不用日期命名备份文件存储的子目录名
--incremental  目录名增量备份
--incremental-basedir=目录名增量备份时,指定上次备份数据存储的目录名
--incremental-dir=目录名恢复数据时,指定增量备份数据存储的目录名
--redo-only日志合并
--apply-log准备还原(日志回滚)
--copy-back恢复数据
--export导出表信息
import导入表空间

完全备份与恢复

[root@mysql50 ~]#innobackupex  --user=root  --password=123456  --no-timestamp   /allback      
//备份数据库所有文件,注意,备份文件夹不能有东西,必须为空  
[root@mysql50 ~]#innobackupex  --user=root  --password=123456  --apply-log  /allback 
//准备恢复数据  不过完全备份这步可以省略
[root@mysql50 ~]#rm -rf /var/lib/mysql                    //恢复时要求空的目录
[root@mysql50 ~]#innobackupex  --user=root  --password=123456  --copy-back  /allback
//恢复数据
[root@mysql50 ~]#chown -R mysql:mysql  /var/lib/mysql     //修改权限为mysql,否则重启报错
[root@mysql50 ~]#systemctl restart mysqld                  //重启
[root@mysql50 ~]#mysql -uroot -p123456        
mysql>show databases;

增量备份与恢复

增量备份:

[root@mysql50 ~]#innobackupex --user=root --password=123456  /fullback  --no-timestamp
[root@mysql50 ~]#innobackupex --user=root --password=123456   --incremental  /new1dir  --incremental-basedir=/fullback  --no-timestamp
[root@mysql50 ~]#innobackupex --user=root --password=123456   --incremental  /new2dir  --incremental-basedir=/new1dir  --no-timestamp
...
//增量备份时,必须现有一次备份,一般为完全备份

增量恢复:

  1. 准备恢复数据
    [root@mysql50 ~]#systemctl  stop mysqld
    [root@mysql50 ~]#rm -rf  /var/libmysql
    [root@mysql50 ~]#innobackupex --apply-log --redo-only  /fullback   //完整恢复
  2. 合并日志                                        
  3. 拷贝备份数据到数据库目录下
  4. 修改所有用户为mysql
  5. 启动数据库服务
  6. 查看数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值