MySQL5.7开启binlog日志,及数据恢复简单示例

目录

一、相关命令

二、开启binlog

三、演示数据恢复


MySql学习专栏

1. MySQL基础架构详解

2. MySQL索引底层数据结构与算法

3. MySQL5.7开启binlog日志,及数据恢复简单示例

4. MySQL日志模块

5. MySQL的MVCC及实现原理

6. MySQL索引优化

7. MySQL——通过EXPLAIN分析SQL的执行计划

8. MySQL执行语句性能优化

9. MySQL中的关联查询(内连接,外连接,自连接)

10. MySQL中复杂的增删改语句

11. 面试必问的 MySQL,你懂了吗?

 

 

 

一、相关命令

1. 查看是否开启 binlog日志(默认不开启,log_bin值为OF)及日志位置

show variables like '%log_bin%';

  

2. 查看产生的 日志文件。

show binary logs;

 

3. 查看当前使用的日志文件,即记录操作的最后一个日志文件

show master status;

 

4. 查看日志事件信息 ,开始、结束操作位置等

show binlog events;

 

5. 查看mysql-bin.000001日志文件的事件信息 ,开始、结束操作位置等

show binlog events in 'mysql-bin.000001';

 

6. 产生新日志,后面的操作会写到新日志中,日志名mysql-bin.00000X+1

flush logs;

7. 清空所有的日志,从mysql-bin.000001开始重新记录日志

 reset master;

8. 查询mysql-bin.000001中记录的操作,不显示sql,要进入到mysql的安装目录中

mysqlbinlog mysql-bin.000001;

9. 查询mysql-bin.000001中记录的操作,会显示sql语句, 要进入到mysql的安装目录中

mysqlbinlog --base64-output=decode-rows -v mysql-bin.000001;

  

二、开启binlog

  修改配置文件/etc/my.cnf,增加如下配置:

log_bin=mysql-bin  
binlog-format=ROW          #选择row模式
server-id = 1
expire_logs_days=5         #日志过期时间为5天 

说明:

  1.   看准log_bin是下划线,不是横杠,mysql-bin是定义的 产生日志的文件名前缀。
  2.   server-id的值随便指定 ,集群环境下不能重复。
  3.     配置完成后,需要重启数据库,此时/var/lib/mysql下已经产生日志文件mysql-bin.index、mysql-bin.000001

、演示数据恢复

1. 查看当前日志文件

show master status;

  

  当前记录日志文件mysql-bin.000001,初始位置2389。 

2. 新建数据库zlp-mall,新建表emp,并准备数据如下

  

3. 再次查看记录位置,发现记录位置已改变

show master status;

  

4. 查看mysql-bin.000001日志文件的事件信息 ,开始、结束操作位置等

show binlog events in 'mysql-bin.000001';

  

 

5. 查看记录日志的详细信息,可以看到sql语句

mysqlbinlog --base64-output=decode-rows -v mysql-bin.000001;

  

6. 重新开启新日志

  

7. 开始演示恢复表操作,首先删除表 

  

8. 查看建表位置

root@bd40fdb77dad:/var/lib/mysql#  mysqlbinlog --base64-output=decode-rows -v mysql-bin.000001;

  

9. 执行恢复语句,查询结果,表及数据恢复完成。

/usr/bin/mysqlbinlog --start-position=2200  -database=zlp-mall  /var/lib/mysql/mysql-bin.000001 /usr/bin/mysql -u root -p zlp123456 -v zlp-mall

 

  

  备注:本篇主要目的是演示binlog的相关命令,其中数据恢复的例子单纯为了演示,实际工作中要复杂的多,相关文章请参考后面的文章

 

参考文档

1. https://www.cnblogs.com/javasl/p/13043971.html

2. https://www.cnblogs.com/YCcc/p/10825870.html

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值