XtraBackup备份工具(percona)

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. 查看数据
扫描二维码关注公众号,回复: 4767834 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_43800781/article/details/84978908