在mysql 使用binlog日志
一. 利用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日志相关推荐
- Mysql清理binlog日志
1.查看binlog日志 mysql> show binary logs;+------------------+------------+ | Log_name | File_size | + ...
- 数据采集之解析Mysql的binlog日志发送至Kafka实时消费(转:https://blog.csdn.net/liguohuabigdata/article/details/79472777)
本文采用Maxwell来实现实时解析mysql的binlog日志发送至kafka 1.开启mysql binlog 环境中mysql是docker容器,所以需要进入容器修改mysql配置.docker ...
- mysql通过binlog日志来恢复数据
简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...
- docker开启mysql的binlog日志
前言 在开发中,需要通过监听mysql的binlog日志文件做到对数据表的监控,由于mysql是部署在docker容器中,还需要解决数据卷的问题 1.通过数据卷的方式开启一个mysql镜像 docke ...
- mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查
mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查 Got fatal error 1236 from master when reading data from binar ...
- mysql sql_log_bin怎么看_MySQL数据库之开启和查看mysql的bin-log日志
本文主要向大家介绍了MySQL数据库之开启和查看mysql的bin-log日志 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. [root@VM_0_7_centos data] ...
- 记录:mysql的binlog日志开启与数据恢复
1.测试使用mysql版本: mysql-5.6.43 2.以下为方便学习所以做了记录,除了第一部分是我自己的环境配置,第二部分大家可参考一下博文. <平头哥的技术博文>平头哥的技术博文 ...
- Mysql基于binlog日志恢复数据
Mysql基于binlog日志恢复数据 1.Linux安装mysql https://blog.csdn.net/qq_44981526/article/details/126717005 可能遇到的 ...
- mysql之binlog日志
binlog日志(binary log) 1.开启mysql的binlog日志 1.1 查看binlog是否开启 mysql> show variables like '%log_bin%'; ...
- mysql slow log损坏_06 : mysql 的 binlog 日志 和slow慢日志 详解
mysql 的 binlog 日志 和slow慢日志 详解 mysql一般常用的日志有三种: 1:error错误日志 2: binlog日志 3:slow日志 下面将详细解释这三种日志: 1.错误日志 ...
最新文章
- sersync 同步
- python pil无法安装_解决virtualenv下安装Python PIL的support not available问题
- 一个较完整的关键字过滤解决方案(上)
- 关于使用JQ scrollTop方法进行滚动定位
- [html] 说说你对H5的ServiceWorker的理解,它有什么运用场景?
- 微信小程序的userInfoReadyCallback理解
- Linux下SVN服务器的搭建
- 求1+2+3+……+100的累加和。
- 又一批长事务,P0故障谁来背锅?
- 关于socket的一些总结
- python反转列表解析_Python语法糖之:列表解析、集合解析和字典解析
- 转:requirejs2.0新特性介绍
- 实验一 MATLAB数字图像处理基本操作
- shell 脚本返回上级目录_cmd返回上级目录
- 面试题,微信朋友圈的“赞”和“评论”为啥是隐藏操作的?
- 手机应用程序的可用性研究数据的获取、过滤、分析
- python学完基础后实践练习:阿拉伯数字金额转人名币大写
- 云数智驱动数据高速增长,浪潮存储提供EB级容量扩展
- php 批量生成链接,php 生成迅雷链接的简单示例
- IFA与“色“俱进,三星“量子点+曲面”如何掀起新变革?
热门文章
- 一款基于ijkplayer框架的音乐播放器(已开源)
- Google官方 详解 Android 性能优化【史诗巨著之内存篇】
- php生成xml报错101,php编译报错大全
- 计算机c程序题孔融让梨,幼儿园大班语言游戏教案《孔融让梨》含PPT课件
- 运算放大器权威指南_运算放大器科普文章
- iPhone清理喇叭灰尘_手机喇叭用久了灰尘多,与其经常换手机,不如自己动手清理...
- linux下mail函数,Linux主机禁用Mail函数的解决办法
- java适配器模式 场景_详解Java适配器模式
- mysql grant记录信息
- 帆软函数TOIMAGE应用