• MySQL 基于xtrabackup备份—热备工具


    /usr/bin/innobackupex  # 备份innodb存储引擎的数据
     
    /usr/bin/xbcrypt
     
    /usr/bin/xbstream
     
    /usr/bin/xtrabackup    # 也可以直接使用xtrabackup进行备份
     
    • 开始完全备份 
      • innobackupex --user=root --password=123456 /backup 
        • 其中/backup为新建的备份文件保存的目录
    • 在另一台主机上开始导入 
      • 在/etc/my.cnf中加入innodb-file-per-table = ON
      • 由于备份文件需要进行重新整合,因此,在备份主机上也要安装percona-xtrabackup 
        • 1:下载xtrabackup的RPM包
        • 2:yum install -y percona-xtrabackup
    • 将备份文件拷贝到备份服务器上 
      • scp -pr /backup/2017-08-30_21-55-01 192.168.23.32:/root/
    • 在备份主机上将备份文件重新整理, 将已经提交的事务进行执行,未提交的事务进行回滚,并且 
      • systemctl stop mariadb.service
      • innobackupex --apply-log /root/2017-08-30_21-55-01 首先整理事务
      • innobackupex --copy-back /root/2017-08-30_21-55-01
      • chown -R mysql.mysql /data/
      • 如果无法启动,需要将/data/mysql/lb_logfile* 删除,因为这个文件变大了
    • 开始增量备份 
      • 在主服务器上先创建新表
      • innobackupex --user=root --password=123456 --incremental /backup/ --incremental-basedir=/backup/2017-08-30_21-55-01
      • innobackupex --apply-log --redo-only /backup/2017-08-24_23-16-04/ :整理完全备份
      • innobackupex --apply-log --redo-only /backup/2017-08-24_23-16-04/ --incremental-dir=/backup/2017-08-24_23-16-04/ :将增量备份合并到完全备份上
      • innobackupex --copy-back /root/2017-08-24_23-16-04
      • 同样也要修改属组和属主
    • 完全备份过程演示
    1:在配置文件里面,设置主服务器和备份服务器的数据目录为/data/mysql, 二进制目录为/data/binlog
     
    datadir=/data/mysql
     
    log_bin=/data/binlog/mysql-bin
     
    innodb_file_per_table=on
     
     
    2:在主服务器里面创建数据库,创建表,插入数据,使用innobackupex进行完全备份
     
    innobackupex --user=root --password=123456 /backup
     
     
    3:将完全备份拷贝到备份服务器
     
    scp -pr /backup/2017-08-30_21-55-01 192.168.23.32:/root/
     
     
    4:在备份服务器停止Mariadb,先整理完全备份的事务
     
    innobackupex --apply-log /root/2017-08-30_21-55-01
     
     
    5:再导入数据,此时会在备份服务器上创建数据目录为/data/mysql, 二进制目录为/data/binlog
     
    innobackupex --copy-back /root/2017-08-30_21-55-01
     
     
    6:最后将备份服务器的数据目录的属主和属组修改为mysql
     
    chown -R mysql.mysql /data/
     
     
    7:在备份服务器启动Mariadb,检查是否备份完毕
     
    systemctl start mariadb.service
     
    • 增量备份过程演示
    1:完全备份之后,我们再来增量备份,现在主服务器上创建其他的数据库,和表,已经插入数据
     
     
    2:基于刚刚创建的完全备份,再创建增量备份
     
    innobackupex --user=root --password=123456 --incremental /backup/ --incremental-basedir=/backup/2017-08-30_21-55-01
     
     
    3:再整理完全备份
     
    innobackupex --apply-log --redo-only /backup/2017-08-30_21-55-01
     
     
    4:将增量备份合并到完全备份
     
    innobackupex --apply-log --redo-only /backup/2017-08-30_21-55-01 --incremental-dir=/backup/2017-08-30_23-16-04
     
     
    5:将完全备份拷贝到备份服务器,这会覆盖之前备份服务器上的完全备份
     
    scp -pr /backup/2017-08-30_21-55-01 192.168.23.32:/root/
     
     
    6:将备份服务器停止,在备份服务器上还原数据
     
    innobackupex --copy-back /root/2017-08-30_21-55-01
     
     
    7:修改数据目录的属主和属组为mysql
     
    chown -R mysql.mysql /data/
  • 相关阅读:
    mycat的基本介绍及安装
    mycat的安装及使用
    java 基本语法(十三) 数组(六)数组的常见异常
    java 面向对象(一):类与对象
    java 面向对象(二):JVM内存结构
    java 面向对象(三):类结构 属性
    java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法
    Salesforce数据安全简介
    Apex计划作业框架的实现
    异步 Apex 类
  • 原文地址:https://www.cnblogs.com/liu1026/p/7467725.html
Copyright © 2020-2023  润新知