/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/

MySQL 基于xtrabackup备份—热备工具的更多相关文章

  1. MySQL 5.6 双机热备windows7

    MySQL 5.6 双机热备 目录: 1.说明 2.数据手工同步 3.修改主数据库配置文件 4.修改从数据库配置文件 5.主数据库添加备份用户 6.从数据库设置为Slave 7.验证 1.说明 1)数 ...

  2. Mysql+Keepalived双主热备高可用操作记录

    我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...

  3. Mycat+Mysql主从复制实现双机热备

    Mycat+Mysql主从复制实现双机热备 一.mysql主从配置原理 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据 ...

  4. 载]mysqlhotcopy 热备工具体验与总结

    载]mysqlhotcopy 热备工具体验与总结 今天有空尝试了一下MYSQLHOTCOPY这个快速热备MYISAM引擎的工具.(本文是针对单个服务器的情况,以后将会加入多服务器相关操作)他和MYSQ ...

  5. (4.14)mysql备份还原——mysql物理热备工具之ibbackup

    关键词:mysql热备工具,ibbackup,mysql物理备份工具 1. 准备 ibbackup 是 InnoDB 提供的收费工具,它支持在线热备 InnoDB 数据,主要有以下特性: * Onli ...

  6. MySQL 基于mysqldump备份工具实战演练

    前言: 细节提示:先执行 show global variables like 'log_bin';看看log_bin的值,如果服务器变量log_bin的值为OFF,需要修改my.cnf配置文件,将l ...

  7. mysql之 percona-xtrabackup 2.4.7安装(热备工具)

    准备:os是centos6.7,提前下载并上传 percona-xtrabackup 安装包,下载网址为: https://www.percona.com/downloads/XtraBackup/L ...

  8. MySQL物理物理备份与还原工具xtraBackup

    (一)xtraBackup简介 xtraBackup是Percona公司开发的一款MySQL数据库备份软件,在备份模式中属于物理备份.其显著特点是开源.免费.备份执行过程中不会阻塞事物.备份可压缩.支 ...

  9. mysql+keepalived 双主热备高可用

    理论介绍:我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互 ...

随机推荐

  1. Java ThreadLocal 源代码分析

    Java ThreadLocal 之前在写SSM项目的时候使用过一个叫PageHelper的插件 可以自动完成分页而不用手动写SQL limit 用起来大概是这样的 最开始的时候觉得很困惑,因为直接使 ...

  2. 先进先出算法(FIFO)——页面置换

    原创 最近操作系统实习,写了先进先出算法(FIFO)的代码来实现页面置换. 题目阐述如下: 设计四:页面置换 设计目的: 加深对请求页式存储管理实现原理的理解,掌握页面置换算法. 设计内容: 设计一个 ...

  3. 2017-2018-1 20155307 《信息安全系统设计基础》第十周课上未完成补充以及课下IPC作业

    课上内容2:stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云 ...

  4. 20155310 2016-2017-2 《Java程序设计》第十周学习总结

    20155310 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 •网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就 ...

  5. win10 64位redis的安装和测试

    步骤记录: 1.官网没有redis64位的版本,在git开源项目上找到64位的可用版本 https://www.cnblogs.com/tommy-huang/p/6093813.html 这里有下载 ...

  6. LVS入门篇(五)之LVS+Keepalived实战

    一.实验架构和环境说明 (1)本次基于VMware Workstation搭建一个四台Linux(CentOS 7.4)系统所构成的一个服务器集群,其中两台负载均衡服务器(一台为主机,另一台为备机), ...

  7. PHP 行为测试工具 Codeception (介绍)

    原文地址:https://phphub.org/topics/25 Codeception 简介 Codeception 简单来说, 分为以下几种测试 Acceptance Tests 验收测试 Fu ...

  8. 9.15 DP合集水表

    9.15 DP合集水表 显然难了一些啊. 凸多边形的三角剖分 瞄了一眼题解. 和蛤蛤的烦恼一样,裸的区间dp. 设f[i][j]表示i~j的点三角剖分最小代价. 显然\(f[i][i+1]=0,f[i ...

  9. docker error:/root/.docker/config.json: is a directory

    问题: 本地没有taskworker镜像,docker从远端拉取,但是拉取时需要读取config.json配置,解析配置时,发现config.json是个目录,错误信息如下: taskworker_1 ...

  10. protobuf工程的编译以及使用

    一. 获取Protocol Buffer 1.1 获得源码 Github:ProtocolBuffer源码 Git clone之:git clone https://github.com/google ...