环境:linux(centos6.8),mysql(5.6)

1:开启binlog功能

编辑 vim /etc/my.cnf,加上 log-bin =/app/mysql_binlog/mysql-bin,顺便加上 expire_logs_days=7,后面的配置代表保留7天日志,接着创建/app/mysql_binlog文件夹。最后重启mysql,service mysqld restart

2:模拟被删除的数据

打开数据库客户端工具,创建表,添加数据,并删除数据,这里以t_ce_msg为例,首先创建两条数据,1和2。

然后删除1数据

3:查看binlog日志

接着查看binlog日志,在这里我们直接使用客户端的功能就可以,比较方便,命令为 show binlog events in 'mysql-bin.000003';

4:恢复数据

在日志中我们可以清楚的看到,其实我不是添加1和2数据然后删除1的,而是先添加1,删除1,又添加2的,不过这不重要,接下来就要使用binlog来恢复已经被删除的1数据了,注意看日志,日志里记录了我添加数据的sql和删除数据的sql,现在我要恢复数据,并不需要执行日志里那条删除1数据的sql,可以看到,添加1数据的开始(BEGIN)到提交(COMMIT),是从2051(Pos)到2399(End_log_pos)。执行恢复需要有用到mysqlbinlog命令,在这里,我直接连接到了数据库的服务器,进入mysql的bin目录进行操作的,命令 mysqlbinlog --start-position=2051 --stop-position=2399 /app/mysql_binlog/mysql-bin.000003 | mysql -uroot -p ,回车后输入密码。

5:可能出现的问题

执行恢复命令的时候,可能会出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes),这可能是一个bug,因为我之前刚装上mysql的时候就已经自己改了密码,长时间没用命令连接,就又出现这个错误,具体解决方法参考https://blog.csdn.net/zzq900503/article/details/14163769,注意mysql5.6和mysql5.7修改命令是不一样的。

记:由于是用于演示,所以是在添加数据之前就已经开启了binlog,并且也不会超过7天,如果是在正式环境,很可能binlog的记录并不是从头到尾的所有sql,所以就需要和全量备份配合使用,数据恢复期间,最好停止外界对数据库的访问,避免数据错误的出现。

使用mysql的binlog功能恢复数据相关推荐

  1. Mysql使用binlog恢复数据解决误操作问题的两种方法

    Mysql使用binlog恢复数据解决误操作问题的两种方法 参考文章: (1)Mysql使用binlog恢复数据解决误操作问题的两种方法 (2)https://www.cnblogs.com/Data ...

  2. mysql同步binlog_利用MySQL的Binlog实现数据同步与订阅(下)

    利用MySQL的Binlog实现数据同步与订阅(下)​blog.yuanpei.me 终于到这个系列的最后一篇,在前两篇博客中,我们分别了介绍了Binlog的概念和事件总线(EventBus)的实现, ...

  3. mysql用binlog恢复数据_利用mysql的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

  4. 不小心删除数据--利用MySQL的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

  5. 利用MySQL的Binlog实现数据同步与订阅(上):基础篇

    终于等到了周末,在经历了一周的忙碌后,终于可以利用空闲写篇博客.其实,博主有一点困惑,困惑于这个世界早已"堆积"起人类难以想象的"大"数据,而我们又好像执着于去 ...

  6. MySQL——通过binlog恢复数据

    目录 1.binlog基本概念 2.MySQL开启binlog 3.使用binlog日志恢复数据 3.1.恢复前准备工作 3.2.数据恢复 3.2.1.通过mysqlbinlog将binlog转为sq ...

  7. mysql用binlog恢复数据_mysql 利用 binlog 恢复数据

    mysqlbinlog --start-position=301   ..\log-bin\binlog.000001 |mysql -u root -p 123456 这是在从日志的第301行开始恢 ...

  8. 如何使用mysql binlog 恢复数据

    如果想通过 mysql 的 binlog 恢复数据,首先要开启 binlog .这里搭建一个测试的环境,了解一下 mysql binlog 是如何恢复数据库的.原理比较简单,binlog 会存储mys ...

  9. mysql根据bin log恢复_MySQL 通过 binlog 恢复数据

    目的 通过了解 binlog 日志的相关配置,简单掌握通过 binlog 对数据库进行数据恢复操作: mysql 日志文件 任何成熟软件都会有一套成熟的日志系统,当软件出现问题时,这些日志就是查询问题 ...

最新文章

  1. phpstudy卸载mysql_PHPstudy卸载和phpstudy卸载详解
  2. 图像处理直方图匹配-巴氏系数原理及实现
  3. 学会做“男人”—Linux Man的使用技巧
  4. 动态规划--重拾我的“背包”
  5. 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)
  6. 怎么修改SQL Server服务器选项,Analysis Services 实例的 SPN 注册 | Microsoft Docs
  7. android.os.networkonmainthredexception,android.os.NetworkOnMainThreadException 解决办法:
  8. 动态PHP查看新闻,PHP_用文本文件实现的动态实时发布新闻的程序,动态实时发布新闻的程序,可 - phpStudy...
  9. 如何查html病毒svchost.exe,小编教你在Win7系统中检查svchost.exe进程是否为病毒的方法步骤...
  10. prisma graphql 工具基本使用
  11. php导出excel出现乱码,完美解决phpexcel导出到xls文件出现乱码的问题
  12. 优盘完整性测试软件,MyDiskTest(U盘扩容检测工具)
  13. Java练习——小游戏 模拟雷电
  14. IOS 5 拦截手机短信(需越狱)
  15. 【JVM】运行时数据区概述(程序计数器、虚拟机栈、本地方法栈)
  16. win7记事本如何转换html,Win7系统打开记事本文本文档出现乱码如何解决?
  17. 超微服务器X11DAi-N主板简介及实际应用
  18. matlab复数开偶次方根,运用复数1的n次方根巧解一类复数方程
  19. java短信模板变量参数赋值_JIEQI CMS模板制作必读(JIEQI CMS模板 - 2.赋值变量形式)...
  20. 移位寄存器型计数器与顺序脉冲发生器

热门文章

  1. 麻将的和牌、听牌以及一向听(即能否打一张牌进行立直)的算法。
  2. jom qt linux,Qt Creator 使用技巧之提高编译速度【使用jom参数】
  3. 表单提交与后台PHP如何接口?
  4. 【矩阵论笔记】方阵幂级数
  5. p2p运营商爬虫运营商采集运营商数据报告
  6. leap motion java_[Leap Motion开发文档翻译]Leap Motion架构
  7. pyecharts交互式动态可视化案例_全国各省近20年GDP 动态展示
  8. 推荐一把好椅子,程序员必买!
  9. 上一个十年,下一个十年
  10. Mac专业的字体管理工具——“FontExplorer X”