备份

    1.全备
innobackupex --user=root --password=123456 --no-timestamp /backup/full
增加数据
mysql> insert into oldboy.test values(2,'b');
Query OK, 1 row affected (0.00 sec) mysql> select * from oldboy.test;
+------+------+
| id | name |
+------+------+
| 1 | a |
| 2 | b |
+------+------+
2.第一次增备
innobackupex --user=root --password=123456 --incremental --no-timestamp --incremental-basedir=/backup/full/ /backup/inc1
增加数据
mysql> insert into oldboy.test values(3,'c');
Query OK, 1 row affected (0.01 sec) mysql> select * from oldboy.test;
+------+------+
| id | name |
+------+------+
| 1 | a |
| 2 | b |
| 3 | c |
+------+------+
3. 第二次增备
innobackupex --user=root --password=123456 --incremental --no-timestamp --incremental-basedir=/backup/inc1/ /backup/inc2
增加数据
mysql> insert into oldboy.test values(4,'d');
Query OK, 1 row affected (0.00 sec) mysql> select * from oldboy.test;
+------+------+
| id | name |
+------+------+
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
+------+------+

破坏数据

drop table oldboy.test;

恢复

   ##应用全备
innobackupex --apply-log --redo-only /backup/full/
#第一次增备合并到全备
innobackupex --apply-log --redo-only /backup/full/ --incremental-dir=/backup/inc1/
#第二次增备合并到全备
innobackupex --apply-log --redo-only /backup/full/ --incremental-dir=/backup/inc2/
# 最后应用全备
innobackupex --apply-log /backup/full/
#恢复
innobackupex --copy-back /backup/full/

启动数据库

    /etc/init.d/mysqld start

binlog恢复

  #  查看最后一次增备的binlog文件及位置
cat /backup/inc2/xtrabackup_binlog_info
mysql-bin.000001 554 #其它数据需要binlog恢复,binlog日志片段 # at 554
#171123 5:05:47 server id 1 end_log_pos 631 CRC32 0x682f8893 Query thread_id=7 exec_time=0 error_code=0
SET TIMESTAMP=1511413547/*!*/;
BEGIN
/*!*/;
# at 631
#171123 5:05:47 server id 1 end_log_pos 740 CRC32 0xc13589a3 Query thread_id=7 exec_time=0 error_code=0
SET TIMESTAMP=1511413547/*!*/;
insert into oldboy.test values(4,'d')
/*!*/;
# at 740
#171123 5:05:47 server id 1 end_log_pos 771 CRC32 0x9fe9947a Xid = 62
COMMIT/*!*/;
# at 771
#171123 5:07:01 server id 1 end_log_pos 895 CRC32 0xc7671d4f Query thread_id=7 exec_time=0 error_code=0
SET TIMESTAMP=1511413621/*!*/;
DROP TABLE `oldboy`.`test` /* generated by server */
/*!*/;
# at 895
#171123 5:16:08 server id 1 end_log_pos 918 CRC32 0x7fc7c108 Stop
DELIMITER ;
# End of log file # 导出binlog
mysqlbinlog mysql-bin.000001 --start-position=554 --stop-position=771 > /backup/binlog.sql # 导入binlog
set sql_log_bin=0;
source /backup/binlog.sql #最终数据
mysql> select * from oldboy.test;
+------+------+
| id | name |
+------+------+
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
+------+------+
4 rows in set (0.00 sec)

xtrabackup备份恢复过程的更多相关文章

  1. 从xtrabackup备份恢复单表【转】

    目前对MySQL比较流行的备份方式有两种,一种上是使用自带的mysqldump,另一种是xtrabackup,对于数据时大的环境,普遍使用了xtrabackup+binlog进行全量或者增量备份,那么 ...

  2. 从xtrabackup备份恢复单表

    目前对MySQL比较流行的备份方式有两种,一种上是使用自带的mysqldump,另一种是xtrabackup,对于数据时大的环境,普遍使用了xtrabackup+binlog进行全量或者增量备份,那么 ...

  3. mysql xtrabackup 备份恢复实现,mysql命令备份数据库,打包压缩数据库

    简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠 ...

  4. xtrabackup 备份恢复

    XtraBackup物理备份 Percona XtraBackup是世界上唯一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份.使用Percona XtraBac ...

  5. Linux下数据库备份恢复过程

    1. 远程进入Linux服务器. 2. 一般登录的是root用户, 第一步切换到Oracle用户, 命令: su - oracle 3. 查看服务器上面数据库的监听的状况 lsnrctl 之后输入命令 ...

  6. xtrabackup备份恢复测试

    http://blog.chinaunix.net/uid-20682026-id-3319204.html

  7. mysql全备和增量备份以及恢复过程(percona工具)

    实验环境 系统环境,内核版本和xtrabackup工具版本 [root@linux-node1 mysql]# cat /etc/redhat-release CentOS Linux release ...

  8. xtrabackup原理,整库,单表,部分备份恢复

    物理备份xtrabackup原理 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Pe ...

  9. xtrabackup备份原理及流式备份应用

    目录 xtrabackup备份原理及流式备份应用 0. 参考文献 1. xtrabackup 安装 2. xtrabackup 备份和恢复原理 2.1 备份阶段(backup) 2.2 准备阶段(pr ...

随机推荐

  1. vlc命令行: 转码 流化 推流

    vlc命令行: 转码 流化 推流 写在命令行之前的话: VLC不仅仅可以通过界面进行播放,转码,流化,也可以通过命令行进行播放,转码和流化.还可以利用里面的SDK进行二次开发. vlc命令行使用方法: ...

  2. Kettle 排序记录的使用(Sort rows)

    排序行的步骤根据您指定的字段和它们是否应该按升序或降序排序当行数超过指定的排序大小(默认为100万行)时候,kettle必须使用临时文件排序行.步骤名称:名称在整个转换中应该是唯一的排序目录:默认当前 ...

  3. JAVA 基础编程练习题13 【程序 13 根据条件求数字】

    13 [程序 13 根据条件求数字] 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? 程序分析:在 10 万以内判断,先将该数加上 100 后 ...

  4. 关于Spring的BeanUtils

    文章<用Spring的BeanUtils前,建议你先了解这几个坑>里面,作者最后得到了这几个结论: 1.Spring得BeanUtils得CopyProperties方法需要对应得属性有g ...

  5. 【POJ - 3579 】Median(二分)

    Median Descriptions 给N数字, X1, X2, ... , XN,我们计算每对数字之间的差值:∣Xi - Xj∣ (1 ≤ i < j ≤N). 我们能得到 C(N,2) 个 ...

  6. ThinkPHP 使用 SwaggerUi 自动生成 api 文档

    1.下载swagger-ui GitHub地址:https://github.com/swagger-api/swagger-ui 2.修改 ThinkPHP 的 build.php ,执行命令生成需 ...

  7. SpringBoot整合持久层技术-创建项目

    新建项目 Pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...

  8. 第一章 Scala基础篇

    目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 ...

  9. Log4j2日志配置详解(1)

    log4j与log4j不同:log4j是通过Logger的静态方法getLogger()获取Logger对象,而log4j2是通过LogManager的静态方法getLogger()获取Logger对 ...

  10. 进阶Python:装饰器 全面详解

    进阶Python:装饰器 前言 前段时间我发了一篇讲解Python调试工具PySnooper的文章,在那篇文章开始一部分我简单的介绍了一下装饰器,文章发出之后有几位同学说"终于了解装饰器的用 ...