在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.错误日志 ...
最新文章
- 经典营销模型的产品化介绍
- 使用 C# 捕获进程输出
- Qt学习笔记 信号和槽
- 算法与数据结构(一)-导学
- 利用.bat批处理命令进行文件复制粘贴备份
- MATLAB画频率响应曲线(幅频特性和相频特性)并将横坐标转换为赫兹hz单位
- LookaHead优化器
- 如何查看计算机主机名称,查看和修改主机名
- 小愿景,职业发展,思维拓展
- Lineage Logistics完成对 UTI Forwarding的收购
- 换个方式认识一下——微信公众号搜索公众号列表 API
- 相控非绝缘技术为何是黄金微针效用至高点?深度剖析相控射频微针差异
- 中国汽车市场的“底层”骗局
- 马来亚大学研究生多久毕业?这份问卷调查结果拍了拍你
- 谷歌地图高清卫星地图、电子地图和地形图有什么区别?
- Python简单爬取起点中文网小说(仅学习)
- 亚马逊测评如何做?亚马逊测评的获得方法?
- 解决SSD+HDD双硬盘下电脑卡顿问题,CPU和内存使用率低,电脑依旧卡顿
- 学术沙龙-写好综述-读书笔记分享和讨论
- July, 20(R)
热门文章
- 这场直播,我们把 Apache 顶级项目盛会搬来了!
- android自定义手势解锁View
- 冒死曝光这个软件,希望不要被封杀!
- 即学即用的 30 段 Python 实用代码
- python 运算符及 字符串格式化输出方式 if条件语句判断 random函数简单应用练习
- 前端绝对路径不显示图片_Vue cli使用绝对路径引用图片问题的解决_情愫_前端开发者...
- python中node函数的意思_Node.js 函数
- mysql插入记录到有约束的表_MySQL学习笔记-约束以及修改数据表
- linux无线adb,linux 无法连接adb 设备
- [HDU4352]XHXJ's LIS