弄个数据把自己弄得晕头转向的,特别是那种不小心删了数据的事儿,心里真是急得慌。可是你要知道,删了的数据,真不一定就永远没了。好在咱有几招,可以让丢了的数据重新回来。你听我说,下面我就给你讲讲,mysql删除的数据怎么恢复。
咱得知道,恢复数据这事儿,能不能恢复,主要看你有没有提前做好准备。像什么二进制日志,事务日志,备份这些东西,都是能帮你恢复数据的好东西。
一、用备份恢复数据
你要是有定期备份,那恢复数据就不难了。只要从备份文件里拿出来,恢复就好。这个方法是最直接也最简单的。可问题是,很多人都不爱做备份,觉得没啥用,其实备份真的很重要。如果你没做备份,那可得准备好吃亏了。
如果你有备份,那就不需要别的麻烦。只需要用备份文件覆盖掉原来的数据,简单又高效。只不过,要注意一下,恢复数据之前,最好先把现在的数据给备份一下,免得万一恢复后发现有点问题,再后悔。
二、用MySQL二进制日志恢复
如果你没做备份,但mysql的二进制日志(binlog)开启了,那就还有得救。因为这个binlog记录了数据库的所有操作,包括删除的操作。所以,只要你有这个日志,就可以把删除的数据找回来。
不过,你得知道,binlog必须是开着的。要是你不知道binlog开没开,可以用下面的命令来检查:
SHOW VARIABLES LIKE '%log_bin%';
如果返回的结果里有log_bin: ON,那就说明开启了二进制日志,你就可以继续做恢复了。如果是OFF,那就说明没开启,那就别想用这个方法了。
如果binlog是开的,那接下来你就可以通过查看binlog的内容,找到删除数据之前的记录,之后用mysql的“mysqlbinlog”命令来恢复。过程有点复杂,但也不是不可能。你可以参考一些网上的教程,按照步骤操作。
三、利用事务日志恢复
其实除了binlog,还有一种方法叫做事务日志。这个也是mysql的一种日志,专门记录着数据库中的事务。事务日志是啥呢?就是每次数据库操作的记录。如果你有事务日志,恢复数据也是有可能的。
不过,跟binlog一样,事务日志也得先开着才行。所以,你最好先看看你自己的数据库配置,看看事务日志是不是已经开启。
恢复的方法跟binlog差不多,也是要通过查看日志,找到删除数据之前的记录,再通过相关命令来恢复。这种方法恢复的成功率也是挺高的,但前提就是你得有这两种日志。
四、使用第三方工具恢复
如果你既没有备份,也没有开启二进制日志或者事务日志,那你就只能尝试用第三方工具来恢复了。市面上有一些恢复工具,可以扫描你的数据库文件,尽量把删除的数据找回来。不过,能不能恢复完全,得看情况。这些工具大多数是收费的,而且恢复成功的几率也不是100%,所以不太建议在没有备份的情况下依赖这些工具。
这些工具有很多,有的甚至支持恢复误删除的数据,甚至可以恢复那些被覆盖的记录。可见,恢复的难度和复杂度有时还是挺高的。
五、提前做好备份的重要性
预防才是最好的办法。你要是能定期备份数据库,设置好日志功能,那就算遇到数据删除的情况,也能轻松恢复。每个人的习惯不一样,但备份这件事儿,真的不能省。万一哪天你操作不小心删了重要数据,能有个备份拿出来用,心里才踏实。
如果你是做网站的,或者有大数据量的业务,那更应该定期备份,别等到出了问题才后悔。要是没备份,出了问题,那就只能靠那些繁琐的恢复工具或者日志了。
总结
如果mysql删了数据,要是有备份,那直接恢复最省事。如果没有备份,那就得看你是不是启用了二进制日志或者事务日志,要是有,那就用它们恢复。最不济的话,可以试试第三方工具。恢复数据的关键就是提前做好准备,记住要定期备份,不然遇到问题可真是难办。
Tags:[MySQL恢复数据,MySQL删除数据恢复,MySQL备份,二进制日志恢复,MySQL事务日志恢复,第三方工具恢复数据]