一. 利用binlog恢复库表
策略:
1.启用binlog日志
2.创建db1库tb1表,插入3条记录
3.删除tb1表中刚插入的3条记录
4.使用mysqlbinlog恢复删除的3条记录

步骤一:启用binlog日志
1)调整/etc/my.cnf配置,并重启服务
[mysqld]
......
log_bin=logdir
server_id=50
binlog_format=mixed
......

[root@MySQL50 ~]# systemctl restart mysqld

2)确认binlog日志文件
新启用binlog后,每次启动MySQl服务都会新生成一份日志文件:
[root@MySQL50 ~]# ls /var/lib/mysql/logdir.*
/var/lib/mysql/logdir.000001 /var/lib/mysql/logdir.index
其中logdir.index文件记录了当前保持的二进制文件列表:
重启MySQL服务程序,或者执行SQL操作“FLUSH LOGS;”,会生成一份新的日志:

[root@MySQL50 ~]# cat /var/lib/mysql/logdir.index
./logdir.000001
[root@MySQL50 ~]# systemctl restart mysqld
[root@MySQL50 ~]# cat /var/lib/mysql/logdir.index
./logdir.000001
./logdir.000002
步骤二:利用binlog日志重做数据库操作
1)执行数据库表添加操作
创建db1·库tb1表,表结构自定义:

mysql> create database db1;
Query OK, 1 row affected (0.11 sec)

mysql> create table db1.tb1 (
-> id tinyint,
-> name char(18)
-> );
Query OK, 0 rows affected (0.68 sec

mysql> insert into db1.tb1 values(
-> 1,"yangmi"),
-> (2,"tangyuan"),
-> (3,"liuyan");
Query OK, 3 rows affected (0.13 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select * from db1.tb1;
+------+----------+
| id | name |
+------+----------+
| 1 | yangmi |
| 2 | tangyuan |
| 3 | liuyan |
+------+----------+
3 rows in set (0.00 sec)
2)删除前一步添加的3条表记录

执行删除所有表记录操作:
mysql> delete from db1.tb1;
Query OK, 3 rows affected (0.14 sec)

mysql> select * from db1.tb1;
Empty set (0.00 sec)
步骤三:通过binlog日志恢复表记录
binlog会记录所有的数据库、表更改操作,所以可在必要的时候重新执行以前做过的一部分数据操作,但对于启用binlog之前已经存在的库、表数据将不适用。
根据上述“恢复被删除的3条表记录”的需求,应通过mysqlbinlog工具查看相关日志文件,找到删除这些表记录的时间点,只要恢复此前的SQL操作(主要是插入那3条记录的操作)即可。

[root@MySQL50 ~]# cat /var/lib/mysql/logdir.index
./logdir.000001
./logdir.000002

mysql> show variables like "binlog_format";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | MIXED |
+---------------+-------+
1 row in set (0.01 sec)

2) 执行指定Pos节点范围内的sql命令恢复数据
mysql> create table db1.tb2 ( id tinyint, name char(12) );
Query OK, 0 rows affected (0.40 sec)

alert user root@localhost identified by "Wjc_2018";

转载于:https://blog.51cto.com/14066708/2320916

在mysql 使用binlog日志相关推荐

  1. Mysql清理binlog日志

    1.查看binlog日志 mysql> show binary logs;+------------------+------------+ | Log_name | File_size | + ...

  2. 数据采集之解析Mysql的binlog日志发送至Kafka实时消费(转:https://blog.csdn.net/liguohuabigdata/article/details/79472777)

    本文采用Maxwell来实现实时解析mysql的binlog日志发送至kafka 1.开启mysql binlog 环境中mysql是docker容器,所以需要进入容器修改mysql配置.docker ...

  3. mysql通过binlog日志来恢复数据

    简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...

  4. docker开启mysql的binlog日志

    前言 在开发中,需要通过监听mysql的binlog日志文件做到对数据表的监控,由于mysql是部署在docker容器中,还需要解决数据卷的问题 1.通过数据卷的方式开启一个mysql镜像 docke ...

  5. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查

    mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查 Got fatal error 1236 from master when reading data from binar ...

  6. mysql sql_log_bin怎么看_MySQL数据库之开启和查看mysql的bin-log日志

    本文主要向大家介绍了MySQL数据库之开启和查看mysql的bin-log日志 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. [root@VM_0_7_centos data] ...

  7. 记录:mysql的binlog日志开启与数据恢复

    1.测试使用mysql版本: mysql-5.6.43 2.以下为方便学习所以做了记录,除了第一部分是我自己的环境配置,第二部分大家可参考一下博文. <平头哥的技术博文>平头哥的技术博文 ...

  8. Mysql基于binlog日志恢复数据

    Mysql基于binlog日志恢复数据 1.Linux安装mysql https://blog.csdn.net/qq_44981526/article/details/126717005 可能遇到的 ...

  9. mysql之binlog日志

    binlog日志(binary log) 1.开启mysql的binlog日志 1.1 查看binlog是否开启 mysql> show variables like '%log_bin%'; ...

  10. mysql slow log损坏_06 : mysql 的 binlog 日志 和slow慢日志 详解

    mysql 的 binlog 日志 和slow慢日志 详解 mysql一般常用的日志有三种: 1:error错误日志 2: binlog日志 3:slow日志 下面将详细解释这三种日志: 1.错误日志 ...

最新文章

  1. sersync 同步
  2. python pil无法安装_解决virtualenv下安装Python PIL的support not available问题
  3. 一个较完整的关键字过滤解决方案(上)
  4. 关于使用JQ scrollTop方法进行滚动定位
  5. [html] 说说你对H5的ServiceWorker的理解,它有什么运用场景?
  6. 微信小程序的userInfoReadyCallback理解
  7. Linux下SVN服务器的搭建
  8. 求1+2+3+……+100的累加和。
  9. 又一批长事务,P0故障谁来背锅?
  10. 关于socket的一些总结
  11. python反转列表解析_Python语法糖之:列表解析、集合解析和字典解析
  12. 转:requirejs2.0新特性介绍
  13. 实验一 MATLAB数字图像处理基本操作
  14. shell 脚本返回上级目录_cmd返回上级目录
  15. 面试题,微信朋友圈的“赞”和“评论”为啥是隐藏操作的?
  16. 手机应用程序的可用性研究数据的获取、过滤、分析
  17. python学完基础后实践练习:阿拉伯数字金额转人名币大写
  18. 云数智驱动数据高速增长,浪潮存储提供EB级容量扩展
  19. php 批量生成链接,php 生成迅雷链接的简单示例
  20. IFA与“色“俱进,三星“量子点+曲面”如何掀起新变革?

热门文章

  1. 一款基于ijkplayer框架的音乐播放器(已开源)
  2. Google官方 详解 Android 性能优化【史诗巨著之内存篇】
  3. php生成xml报错101,php编译报错大全
  4. 计算机c程序题孔融让梨,幼儿园大班语言游戏教案《孔融让梨》含PPT课件
  5. 运算放大器权威指南_运算放大器科普文章
  6. iPhone清理喇叭灰尘_手机喇叭用久了灰尘多,与其经常换手机,不如自己动手清理...
  7. linux下mail函数,Linux主机禁用Mail函数的解决办法
  8. java适配器模式 场景_详解Java适配器模式
  9. mysql grant记录信息
  10. 帆软函数TOIMAGE应用