此文详细介绍了根据mysql的二进制日志恢复丢失的数据。

在7月17日不小心删除了一个工程的整个数据,导致数据丢失。 最新的备份是5月29日。丢失的数据比较多。由于我发现这个mysql数据库开启了日志功能,日志记录从从5月3日到7月17日。

  1. 查看mysql是否开启二进制日志。bin-log日志记录了所有的DDL和DML的语句。

查看my.cnf中是否有log-bin的设置

Log-bin=mysql-bin

EXPIRE_LOGS_DAYS
此参数是设置日志的过期天数,过期的日志将会被自动删除,这有利于减少我们管理日志的工作量,需要修改my.cnf

EXPIRE_LOGS_DAYS=3

这里我们设定保存日志为3天,3天之后过期的日志将被自动删除

2、定期完整备份
你还需要间隔一定的时间做数据库的完整备份,只有这样你才有可能快速的恢复最新数据。

3、查看备份时间
查看你备份的时间,如backup.sql,取最后一行:-- Dump completed on 2012-11-08 11:11:48。

或者查看backup.sql 的文件生成日期也可以。

4恢复

bin-log是记录着mysql所有事件的操作,当mysql发生灾难性错误时,可以通过bin-log做完整恢复,基于时间点的恢复,和基于位置的恢复

基于时间点的恢复

首先利用mysqlbinlog.exe 命令将二进制日志转换为txt文件。

D:\Mysql\bin>mysqlbinlog.exe  d:/Mysql/backupLog.000033>change.txt

从change.txt 可以看到我删除这个库的时间,如下图所示

暂时关闭服务,防止新数据写入,导出二进制日志:

多个日志文件之间用空格隔开。查看生成的sql文件,找到操作的错误的sql语句,删除即可。

然后先导入之前备份的sql,在导入生成的sql,就可以恢复到删除之前的完整数据了。

基于位置恢复

将二进制文件导出为txt后,可以看到我删除库的位置

我删除库的位置为1398088,所以恢复的位置点是这个位置的前一个1397998。

多个日志文件之间用空格隔开。查看生成的sql文件,找到操作的错误的sql语句,删除即可。

然后先导入之前备份的sql,在导入生成的sql,就可以恢复到删除之前的完整数据了。

如果只是错误的删除了一张表,在删除的位置上前后都有数据的话, 然后再导出删除位置之后的的sql。

然后再导入这个生成的sql文件。

开启日志功能对mysql 的性能影响比较明显,大家根据实际情况而定。

Mysql根据日志恢复数据相关推荐

  1. mysql重做日志恢复数据_MySQL中重做日志,回滚日志,以及二进制日志的简单总结...

    MySQL中有六种日志文件, 分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log). ...

  2. MySQL binlog日志恢复数据详细操作步骤

    场景 遇到后台数据批量误删,需要进行数据恢复. 准备 1.确定需要恢复数据的时间段 2.查看是否开启了binlog (1)终端执行命令,连接mysql mysql -h地址 -P端口号 -u账号 -p ...

  3. mysql通过日志恢复数据_mysql通过binlog日志来恢复数据

    简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...

  4. mysql日志恢复数据_Mysql 通过binlog日志恢复数据

    Binlog日志,即binary log,是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即主节点维护一个binlog日志文件,从节点从binlog中同步数据,也可以通过binlog日 ...

  5. MySQL 之binlog日志说明及利用binlog日志恢复数据操作记录

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...

  6. mysql使用二进制日志恢复数据

    本文来说下如何使用mysql使用二进制日志恢复数据,再window的环境下. 文章目录 开启二进制日志 重启mysql服务 配置信息 开启二进制日志 在mysqld的配置节点下添加如下配置 log_b ...

  7. Mysql基于binlog日志恢复数据

    Mysql基于binlog日志恢复数据 1.Linux安装mysql https://blog.csdn.net/qq_44981526/article/details/126717005 可能遇到的 ...

  8. MySQL二进制binlog日志说明以及利用binlog日志恢复数据

    MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于 ...

  9. mysql binlog pid_mysqlbinlog日志恢复数据

    嗨!有段时间没有更新了,最近有好多人加我说要进群的,由于当时建群没人进,再加上最近一段时间比较忙,就无奈先解散了哈哈哈,抱歉了各位! ok,回归正文 恢复数据的重要命令如下MySQL>flush ...

  10. 根据mysql数据库日志恢复删除数据

    根据mysql数据库日志恢复删除数据 BINLOG就是一个记录SQL语句的过程,和普通的LOG一样.不过只是她是二进制存储,普通的是十进制存储罢了. 1.配置文件里要写的东西: [mysqld] lo ...

最新文章

  1. selenium python自动化文件下载_selenium+python自动化79-文件下载(SendKeys)【转载】...
  2. gpu浮点计算能力floaps_聊聊 GPU 峰值计算能力
  3. if语句的一个错误记录,多了个“;”号
  4. GIF动画解析RNN,LSTM,GRU
  5. 苹果市值突破2万亿美元;华为推出PC版HMS“擎云生态”;Android11将强制应用使用内置相机| 极客头条...
  6. 360度全面抵御黑客攻击的新型芯片来了!
  7. 2012中国移动社交游戏市场盈利模式探讨
  8. 实用typescript_TypeScript 泛型使用2-常见的工具类型
  9. PCA原理及代码实现
  10. 经验分享:我是如何在网店无货源情况下快速出单?
  11. SSM SpringBoot vue高校实训管理系统
  12. 微信小程序实现滑动布局
  13. 国外素材网站打不开?还想要同品质图片?
  14. 我的河海大学计算机考研专业课总结
  15. 我是如何拿到蚂蚁金服实习 offer 的
  16. 全球链界科技发展大会_科技界的女性-过去,现在和未来
  17. tkinter运行时出现无响应问题
  18. 依山傍水,云淡风轻-----只是传说
  19. 【服务器数据恢复】IBM服务器RAID控制器出错的数据恢复案例
  20. 电信设备商进入企业网市场需适应不同渠道模式(转载)

热门文章

  1. “绿坝”最终会不了了之
  2. java structs_java深入探究12-框架之Structs
  3. (04)Structs初学笔记——后台往前台传值
  4. Golang - Structs 包的使用
  5. GridView样式
  6. 网络PPTP协议代理加速器的应用
  7. 基于51单片机的数字万用表设计
  8. HttpSession详解
  9. 硬件设计论坛_零基础学硬件工程师到哪里去培训 上EDA365电子论坛
  10. 康佳如何做“加法”?