禾川爱玩网

mysql误删除数据恢复,mysql误删除数据恢复没有binlog

大家好,今天小编关注到一个比较意思的话题,就是关于mysql删除数据恢复问题,于是小编就整理了3个相关介绍mysql误删除数据恢复的解答,让我们一起看看吧。

  1. MySQL数据库丢失后如何自动恢复呢? ?
  2. mysql数据库删除了怎么还原数据?
  3. mysql崩溃如何恢复数据库?

MySQL数据库丢失后如何自动恢复呢? ?

这里介绍一种简单的方法,就是开启binlog二进制日志,记录用户对MySQL数据库的所有操作(除了查询),然后通过mysqlbinlog命令导出为SQL文件(剔除drop语句),最后再恢复就行,下面我简单介绍一下操作过程,实验环境Win10+MySQL5.5,感兴趣的朋友可以尝试一下:

1.首先,开启binlog功能这个需要修改MySQL安装目录下的my.ini配置文件,在[mysqld]下面添加一行设置“log-bin = mysql-bin”就行,如下:

mysql误删除数据恢复,mysql误删除数据恢复没有binlog
图片来源网络,侵删)

接着重启MySQL服务,就可以在MySQL数据目录下看到生成的日志记录文件—mysql-bin.000001和mysql-bin.index,其中mysql-bin.000001是日志文件,会自动顺序递增,记录每次数据库重启后用户的所有操作记录,mysql-bin.index是日志索引文件,记录所有的日志文件名称:

2.接着我们就可以模拟数据库误删的过程了,这里我先新建了一个db数据库,然后创建了一个test数据表,依次insert插入3条数,如下:

mysql误删除数据恢复,mysql误删除数据恢复没有binlog
(图片来源网络,侵删)

然后我们执行“drop database db”删除数据库,再“use db”时就会报错,如下,告诉数据库db不存在:

3.接着就是数据库恢复的过程,打开cmd窗口运行“mysqlbinlog --no-defaults binlog日志文件路径(这里换成你的binlog文件)”命令,就可以看到我们重启数据库后所有的数据库操作记录,如下,每个操作都有唯一的对应位置,这里我们需要剔除掉drop语句,也就是恢复到958这个位置:

先分析一下,为啥丢失数据,因为操作删,还是数据库挂了,因为操作删,可以做备份,做备份的原理就是,数据库主从***,有mycat插件,原理就是用日志。达到主从***,其次,如果是数据库挂了。首先mysql是持久化存储,重启就行,但是会丢失挂了未提交的事物。这得需要数据库意外的数据来支持数据库恢复数据。系统日志啊,所以个人觉得,日志很重要。

mysql误删除数据恢复,mysql误删除数据恢复没有binlog
(图片来源网络,侵删)

首先看看是什么丢失,是db 还是drop/truncate table ,如果这样可以用备份来恢复,如果是delete table 有备份可以用备份恢复,没有备份可以通过binlog 反项解析来进行恢复

mysql数据库删除了怎么还原数据?

不知道你的mdf文件是否受损,如日志盘出错后数据写入不完整、未停服务或离线数据库直接拷贝mdf出来。你这种情况没遇到过,不过也可以模拟场景,有时间再试试。

你说的方法就是一种,一般也只有这种操作:

1.找一个相似的环境,创建同名数据库;

2.将数据库离线offline,将原数据文件和日志文件删除;

3.将要恢复的mdf拷贝过去;

4.将数据库设置在线online,会提示有问题,失败…

5.将数据库设置为可疑状态suspended;

6.使用数据库修复命令 DBCC checkdb 允许丢失数据恢复。如果正常,设置online数据库就可以访问了。

mysql崩溃如何恢复数据库?

mysql崩溃后有两种方式可恢复数据库。

第一种方式是***用备份文件恢复。前提是定期对数据库进行了备份。在管理界面上使用备份还原功能,选取最新的备份文件即可。

第二种方式是***用日志恢复。前提是开启了mysql的binlog功能。在控制台界面用restore命令即可完成恢复。

到此,以上就是小编对于mysql误删除数据恢复的问题就介绍到这了,希望介绍关于mysql误删除数据恢复的3点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.hunanyunshu.com/post/22046.html

分享:
扫描分享到社交APP