zoukankan      html  css  js  c++  java
  • mysql xtrabackup备份工具使用

    工具介绍:
    1、xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表, 也不能备份数据表结构;
    2、innobackupex:是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。
    3、xtrabackup 2.3版本开始innobackupex全部集成到xtrabackup,innobackupex已经被废弃。

    1.检查和安装与Perl相关的模块
    xtrabackup工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。
    依赖包检查命令为:
    rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
    如果有依赖包确实,可以使用下面的命令安装:
    yum -y install perl-DBI
    yum -y install perl-DBD-MySQL
    yum -y install perl-Time-HiRes
    yum -y install perl-IO-Socket-SSL


    2、安装过程
    Warning: Make sure that you have the libev package installed before installing Percona XtraBackup. The libev package is available from the EPEL repositories.

    从http://rpmfind.net/linux/rpm2html/search.php上下载 libev-4.03-3.el6.x86_64.rpm安装包,然后安装即可,如下所示


    [root@oracle12c /]# rpm -ivh libev-4.03-3.el6.x86_64.rpm

    [root@oracle12c /]# rpm -ivh mysql-community-libs-compat-5.7.19-1.el6.x86_64.rpm

    [root@oracle12c /]# rpm -ivh perl-DBD-MySQL-4.022-1.el6.rfx.x86_64.rpm

    [root@oracle12c /]# rpm -ivh percona-xtrabackup-24-2.4.15-1.el6.x86_64.rpm
    检查安装
    [root@oracle12c /]# rpm -qa |grep xtrabackup
    percona-xtrabackup-24-2.4.15-1.el6.x86_64

    3、备份过程:
    全备:
    xtrabackup --backup --password=123456 --target-dir=/mysql/backups/base/
    增量:
    xtrabackup --backup --password=123456 --target-dir=/mysql/backups/inc1 --incremental-basedir=/mysql/backups/base
    xtrabackup --backup --password=123456 --target-dir=/mysql/backups/inc2 --incremental-basedir=/mysql/backups/inc1

    4、恢复过程:

    前提要求
    1、Backup needs to be prepared before it can be restored.
    2、mysql服务datadir目录为空。
    3、mysql服务停止运行。
    4、有需要恢复的时间范围的binlog日志。


    基于时间点恢复,确定恢复到哪个增量备份
    cat /path/to/backup/xtrabackup_binlog_info
    mysql-bin.000003 57

    数据增量恢复
    xtrabackup --prepare --apply-log-only --target-dir=/mysql/backups/base
    xtrabackup --prepare --apply-log-only --target-dir=/mysql/backups/base --incremental-dir=/mysql/backups/inc1
    xtrabackup --prepare --apply-log-only --target-dir=/mysql/backups/base --incremental-dir=/mysql/backups/inc2

    恢复数据文件到my.cnf指定的datadir
    xtrabackup --copy-back --target-dir=/mysql/backups/base
    OR:
    rsync -avrP /mysql/backups/base/ /mysql/data/

    修改权限
    chown -R mysql:mysql /mysql/data/

    启动数据库
    service mysqld start

    binlog日志挖掘并恢复数据
    mysqlbinlog /path/to/datadir/mysql-bin.000003 /path/to/datadir/mysql-bin.000004 --start-position=57 --stop-datetime="11-12-25 01:00:00" | mysql -u root -p

    也许我已经迷失很久了,早已丢失了自己的影子。
  • 相关阅读:
    spring data jpa @index无法创建索引
    vue form绑定数据后只能显示不能编辑
    vue dialog每次打开会展示上一次数据(转载)
    vue-i18n突然所有的都解析不出来了
    sass计算高度
    动态指定日志路径(logback)
    Springboot配置文件内容加密
    java环境变量修改后不生效
    SOAP和REST
    Git配置别名
  • 原文地址:https://www.cnblogs.com/JcLevy/p/11420111.html
Copyright © 2011-2022 走看看