ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2020-06-04 15:52:33  阅读:1882  来源: 互联网

标签:bin binlog bin.000001 查看 示例 MySQL5.7 show mysql 日志


  1、相关命令

  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语句

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

  2、开启binlog

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

log_bin=mysql-bin  
server-id = 1

  说明:

  1)看准log_bin是下划线,不是横杠,mysql-bin是定义的 产生日志的文件名前缀。

  2)server-id的值随便指定 ,集群环境下不能重复。

  3)配置完成后,需要重启数据库,此时/var/lib/mysql下已经产生日志文件mysql-bin.index、mysql-bin.000001

  3、演示恢复表及其数据

  1)查看当前日志文件

  

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

  2)新建数据库mydb1,新建表t_test1,并准备数据如下

  

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

  

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

  

  

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

  

  

  6)重新开启新日志

  

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

  

  8)查看建表位置

[root@localhost mysql]# mysqlbinlog --base64-output=decode-rows -v mysql-bin.000001;

  

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

  

  

 

 

 

   

 

 

 

  

标签:bin,binlog,bin.000001,查看,示例,MySQL5.7,show,mysql,日志
来源: https://www.cnblogs.com/javasl/p/13043971.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有