一. 利用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. 经典营销模型的产品化介绍
  2. 使用 C# 捕获进程输出
  3. Qt学习笔记 信号和槽
  4. 算法与数据结构(一)-导学
  5. 利用.bat批处理命令进行文件复制粘贴备份
  6. MATLAB画频率响应曲线(幅频特性和相频特性)并将横坐标转换为赫兹hz单位
  7. LookaHead优化器
  8. 如何查看计算机主机名称,查看和修改主机名
  9. 小愿景,职业发展,思维拓展
  10. Lineage Logistics完成对 UTI Forwarding的收购
  11. 换个方式认识一下——微信公众号搜索公众号列表 API
  12. 相控非绝缘技术为何是黄金微针效用至高点?深度剖析相控射频微针差异
  13. 中国汽车市场的“底层”骗局
  14. 马来亚大学研究生多久毕业?这份问卷调查结果拍了拍你
  15. 谷歌地图高清卫星地图、电子地图和地形图有什么区别?
  16. Python简单爬取起点中文网小说(仅学习)
  17. 亚马逊测评如何做?亚马逊测评的获得方法?
  18. 解决SSD+HDD双硬盘下电脑卡顿问题,CPU和内存使用率低,电脑依旧卡顿
  19. 学术沙龙-写好综述-读书笔记分享和讨论
  20. July, 20(R)

热门文章

  1. 这场直播,我们把 Apache 顶级项目盛会搬来了!
  2. android自定义手势解锁View
  3. 冒死曝光这个软件,希望不要被封杀!
  4. 即学即用的 30 段 Python 实用代码
  5. python 运算符及 字符串格式化输出方式 if条件语句判断 random函数简单应用练习
  6. 前端绝对路径不显示图片_Vue cli使用绝对路径引用图片问题的解决_情愫_前端开发者...
  7. python中node函数的意思_Node.js 函数
  8. mysql插入记录到有约束的表_MySQL学习笔记-约束以及修改数据表
  9. linux无线adb,linux 无法连接adb 设备
  10. [HDU4352]XHXJ's LIS