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

售前免费咨询热线: 4 0 0 - 1 8 6 - 0 9 0 5
汇智资讯Huizhi information

当前位置:首页 »MySQL数据库丢失后如何自动恢复呢?

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

日期:2020-12-21 16:01:12 访问量: 来源:

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

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

MySQL数据库

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

MySQL数据库

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

MySQL数据库

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

MySQL数据库

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

MySQL数据库

直接运行“mysqlbinlog --no-defaults --stop-position="958" binlog日志文件路径 > D:\test.sql”命令,就可以导出958位置之前的所有数据库记录,并重定向为一个sql文件,如下,这里你也可以使用start-position参数指定导出的起始位置:

MySQL数据库

4.最后我们再连接MySQL数据库,导入这个sql脚本就可以正常恢复数据了,如下,和原始插入的数据一样:

MySQL数据库

至此,我们就完成了MySQL数据库的自动恢复。总的来说,整个过程非常简单,只要你熟悉一下上面的操作过程,很快就能掌握的,对于一些简单的数据恢复来说,完全够用,不过建议还是在日常开发过程中做好数据库备份,在生产环境中慎重使用drop等删除语句

汇聚行业精英智慧

致力于高端IT技术人才培养

助力万千学员成就IT梦!

汇智动力

扫码关注 领取资料

www.hzdledu.cn

相关阅读Reading

全国热线:400-186-0905

总部热线:028-6547-1147

周一至周日9:30-24:00

我要咨询
汇智动力微信

汇智动力微信公众号

')