10.1、实验数据:

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lbd | 21 |

+----+------+------+

5 rows in set (0.00 sec)

10.2、备份库:

mysqldump -uroot -p123456 --single-transaction -F --master-data=1 -R -B lc >/tmp/lc_bak.sql

10.3、对库中的数据进行修改:

mysql> update lc.test set name='lc2' where id=2;

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lc2 | 21 |

+----+------+------+

10.4、误操作导致库丢失:

drop database lc;

10.5、恢复数据库:

1、停库操作(推荐),如果不锁库会导致数据一致性有问题;

1)关闭网络的方法:

[mysqld]

skip-networking

#开启该选项可以彻底关闭 MySQL 的 TCP/IP 连接方式;

2)重启mysql;

/data/3306/mysql restart

2、mysqladmin -uroot -p123456 flush-log #刷新binlog日志;

mysql -uroot -p123456 lc </tmp/lc_bak.sql

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lbd | 21 |

+----+------+------+

10.6、增量恢复:

1、查看lc_bak.sql内容找到binlog的备份时的pos点:

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=107;

2、导出lc库的数据:

只导出lc对应的库的binlog日志,使用-d参数,防止还原时还原所有的库,数据重复而报错,导致恢复无法进行;

mysqlbinlog -d lc /application/mysql/data/mysql-bin.000002 >/tmp/lc_add.sql

3、恢复:

mysql -uroot -p123456 lc </tmp/lc_add.sql

4、数据查看:

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lc2 | 21 |

+----+------+------+

10.7、知识点补充:

指定恢复的库和恢复的位置生成sql文件:

[root@db01 data]# mysqlbinlog /application/mysql/data/mysql-bin.000014 -d lc --start-position=107 --stop-position=351 -r /tmp/lc_bin.log

#--start-position=107 --stop-position=351 :按照位置点取sql语句:

#--start-datetime='2019-2-26 13:25:28' --stop-datetime='2019-2-26 19:55:32' :按照时间点取出sql语句,是一个时间范围,比较模糊,可能一秒钟有多条的修改的语句;

#使用该方法可以跳过故障点,按要求进行恢复数据库;

#如果不给开始和结尾,开始点是binlog文件的开头,结尾点是binlog文件的结尾;

#如果只给了开头不给结尾,则结尾点是binlog文件的结尾处;

10、mysql增量恢复实战的更多相关文章

  1. Mysql增量恢复

    mysqldump增量恢复何时需要使用备份的数据? 备份最牛逼的层次,就是永远都用不上备份.--老男孩 不管是逻辑备份还是物理备份,备份的数据什么时候需要用?===================== ...

  2. mysql增量恢复的一个实例操作

    通过防火墙禁止web等应用向主库写数据或者锁表,让主库暂时停止更新,然后进行恢复 模拟整个场景 1.登录数据库 [root@promote 3306]# mysql -uroot -S /data/3 ...

  3. Mysql备份恢复方案解析

    1.全量备份和增量备份 1.1全量备份 就是对现有的数据进行全部备份,之前做的备份均可舍弃,以最新的全备为基点. a.全备所有数据库 Innodb引擎: [root@leader mysql]#mys ...

  4. MYSQL增量备份与恢复

    vim /etc/my.cnf在[mysqld]下添加max_binlog_size = 1024000 //二进制日志最大1M 要进行mysql的增量备份,首先要开启二进制日志功能方法一:在/etc ...

  5. 【转】mysql增量备份恢复实战企业案例

    来源地址:http://seanlook.com/2014/12/05/mysql_incremental_backup_example/ 小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但 ...

  6. innobackupex做MySQL增量备份及恢复【转】

    创建备份用户 mysql> grant process,reload,lock tables,replication client on *.* to 'backup'@'localhost' ...

  7. (转)通过MySQL复制线程SQL_Thread加快增量恢复binlog

    数据回档常常是使用全量备份+binlog增量实现的.而数据量很大的情况下,增量恢复binlog一直是一个苦恼的问题,因为恢复binlog速度十分慢,并且容易出错. 恢复binlog文件一般有两种方法: ...

  8. 十、linux-mysql下的mysql数据库增量恢复

    1.全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -ppoldboy -S /data/3306/mysql.s ...

  9. 9.11、mysql增量备份和增量恢复介绍

    1.增量备份: 增量数据是从上次全量备份之后,更新的新数据,对于mysql来说,binlog日志就是mysql的增量数据: (1)按天进行备份: 周一00点全量备份 周二00点全量备份 ...... ...

随机推荐

  1. Rsync忽略文件夹或目录

    使用Rsync同步的时候往往会要求对某个文件夹或者文件进行忽略,客户端可以使用--exclude参数来实现对,目录或者文件的忽略 rsync -rltvz --port=873 --exclude & ...

  2. Canal和Otter讨论二(原理与实践)

    上次留下的问题 问题一: 跨公网部署Otter 参考架构图 解析 ​ a. 数据涉及网络传输,S/E/T/L几个阶段会分散在2个或者更多Node节点上,多个Node之间通过zookeeper进行协同工 ...

  3. Flume 常用配置项

    注:以下配置项均为常见配置项,查询详细配置项可以访问 flume 官网 Source 常见配置项 Avro Source 配置项名称 默认值 描述 Channel – type – 组件类型名称,必须 ...

  4. 【Java】Files.readAllBytes(Path) 遇见的坑

    Files.readAllBytes(Path)方法把整个文件读入内存,此方法返回一个字节数组,还可以把结果传递给String的构造器,以便创建字符串输出. 在针对大文件的读取的时候,可能会出现内存不 ...

  5. Jquery的load加载本地文件出现跨域错误的解决方案"Access to XMLHttpRequest at 'file:///android_asset/web/graph.json' from(Day_46)

    博主是通过JS调用本地的一个json文件赋值给变量出现的跨域错误, 网上有大量文章,五花八门的,但总归,一般性此问题基本可通过这三种方法解决: https://blog.csdn.net/qq_418 ...

  6. Linux(CentOS7)下二进制安装MySQL5.7.26

    记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...

  7. GO学习-(12) Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民 ...

  8. 在js中将map对象转换成json 和 js对cookie的操作

    在js中将map对象转换成json //msp转objectlet obj= Object.create(null); for (let[k,v] of map) { obj[k] = v; }//o ...

  9. 人体姿态和形状估计的视频推理:CVPR2020论文解析

    人体姿态和形状估计的视频推理:CVPR2020论文解析 VIBE: Video Inference for Human Body Pose and Shape Estimation 论文链接:http ...

  10. 智能物联网(AIoT,2020年)(中)

    智能物联网(AIoT,2020年)(中) 05 中国AIoT产业图谱 06 中国AIoT商业模式 标准程度越低人力和时间成本投入越多,2B2C模式附加值高 07 中国AIoT玩家分布简介 四类玩家,优 ...