Mysql根据日志恢复数据
此文详细介绍了根据mysql的二进制日志恢复丢失的数据。
在7月17日不小心删除了一个工程的整个数据,导致数据丢失。 最新的备份是5月29日。丢失的数据比较多。由于我发现这个mysql数据库开启了日志功能,日志记录从从5月3日到7月17日。
- 查看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根据日志恢复数据相关推荐
- mysql重做日志恢复数据_MySQL中重做日志,回滚日志,以及二进制日志的简单总结...
MySQL中有六种日志文件, 分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log). ...
- MySQL binlog日志恢复数据详细操作步骤
场景 遇到后台数据批量误删,需要进行数据恢复. 准备 1.确定需要恢复数据的时间段 2.查看是否开启了binlog (1)终端执行命令,连接mysql mysql -h地址 -P端口号 -u账号 -p ...
- mysql通过日志恢复数据_mysql通过binlog日志来恢复数据
简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...
- mysql日志恢复数据_Mysql 通过binlog日志恢复数据
Binlog日志,即binary log,是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即主节点维护一个binlog日志文件,从节点从binlog中同步数据,也可以通过binlog日 ...
- MySQL 之binlog日志说明及利用binlog日志恢复数据操作记录
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...
- mysql使用二进制日志恢复数据
本文来说下如何使用mysql使用二进制日志恢复数据,再window的环境下. 文章目录 开启二进制日志 重启mysql服务 配置信息 开启二进制日志 在mysqld的配置节点下添加如下配置 log_b ...
- Mysql基于binlog日志恢复数据
Mysql基于binlog日志恢复数据 1.Linux安装mysql https://blog.csdn.net/qq_44981526/article/details/126717005 可能遇到的 ...
- MySQL二进制binlog日志说明以及利用binlog日志恢复数据
MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于 ...
- mysql binlog pid_mysqlbinlog日志恢复数据
嗨!有段时间没有更新了,最近有好多人加我说要进群的,由于当时建群没人进,再加上最近一段时间比较忙,就无奈先解散了哈哈哈,抱歉了各位! ok,回归正文 恢复数据的重要命令如下MySQL>flush ...
- 根据mysql数据库日志恢复删除数据
根据mysql数据库日志恢复删除数据 BINLOG就是一个记录SQL语句的过程,和普通的LOG一样.不过只是她是二进制存储,普通的是十进制存储罢了. 1.配置文件里要写的东西: [mysqld] lo ...
最新文章
- selenium python自动化文件下载_selenium+python自动化79-文件下载(SendKeys)【转载】...
- gpu浮点计算能力floaps_聊聊 GPU 峰值计算能力
- if语句的一个错误记录,多了个“;”号
- GIF动画解析RNN,LSTM,GRU
- 苹果市值突破2万亿美元;华为推出PC版HMS“擎云生态”;Android11将强制应用使用内置相机| 极客头条...
- 360度全面抵御黑客攻击的新型芯片来了!
- 2012中国移动社交游戏市场盈利模式探讨
- 实用typescript_TypeScript 泛型使用2-常见的工具类型
- PCA原理及代码实现
- 经验分享:我是如何在网店无货源情况下快速出单?
- SSM SpringBoot vue高校实训管理系统
- 微信小程序实现滑动布局
- 国外素材网站打不开?还想要同品质图片?
- 我的河海大学计算机考研专业课总结
- 我是如何拿到蚂蚁金服实习 offer 的
- 全球链界科技发展大会_科技界的女性-过去,现在和未来
- tkinter运行时出现无响应问题
- 依山傍水,云淡风轻-----只是传说
- 【服务器数据恢复】IBM服务器RAID控制器出错的数据恢复案例
- 电信设备商进入企业网市场需适应不同渠道模式(转载)