mysql 执行了 update,数据库没做备份,能还原吗?

时间:2020-12-03 03:19:03
小弟不小心对mysql执行了update操作,把源数据给搞坏了,现在想恢复过来,不知道怎么操作,求个大神指教!感激不尽!

12 个解决方案

#1


如果保留着binlog  并且没有删除够 

那么解析出来所有binlog  然后过滤出所有关于这个表的操作  然后执行一遍

#2


我没有开启binlog功能,还能恢复吗?

#3


如果没有用MYSQLDUMP备份的话,不能了,反向UPDATE不行?

#4


MYSQLDUMP备份mysql默认开启了吗?我不知道有没有这个备份

#5


要自行手工备份的,如果没有,试试反向UPDATE,否则没有办法了

#6


哦,我没有进行过备份的。反向UPDATE?怎么反向啊?请说的详细点,多谢啦!!!

#7


根据你的UPDATE语句来判断。语句是什么

#8


我的UPDATE语句是:UPDATE user SET name="小明",执行之后所有的记录的name都变成了小明了,怎么恢复以前的名字啊?

#9


呵呵,这种是不能反向UPDATE的,找找备份吧
比如
UPDATE TT SET I=I+1
就可以反向UPDATE
UPDATE TT SET I=I-1

#10


悲催了~~~

#11


无法直接恢复了。

只能找到之前的 备份,然后恢复到备份的时间点,然后再依赖 二进制日志从备份时间点逐步恢复到执行 update 语句前。

如果这两样都没有,则没办法了。

#12


看来是没有办法了,多谢大家了!

#1


如果保留着binlog  并且没有删除够 

那么解析出来所有binlog  然后过滤出所有关于这个表的操作  然后执行一遍

#2


我没有开启binlog功能,还能恢复吗?

#3


如果没有用MYSQLDUMP备份的话,不能了,反向UPDATE不行?

#4


MYSQLDUMP备份mysql默认开启了吗?我不知道有没有这个备份

#5


要自行手工备份的,如果没有,试试反向UPDATE,否则没有办法了

#6


哦,我没有进行过备份的。反向UPDATE?怎么反向啊?请说的详细点,多谢啦!!!

#7


根据你的UPDATE语句来判断。语句是什么

#8


我的UPDATE语句是:UPDATE user SET name="小明",执行之后所有的记录的name都变成了小明了,怎么恢复以前的名字啊?

#9


呵呵,这种是不能反向UPDATE的,找找备份吧
比如
UPDATE TT SET I=I+1
就可以反向UPDATE
UPDATE TT SET I=I-1

#10


悲催了~~~

#11


无法直接恢复了。

只能找到之前的 备份,然后恢复到备份的时间点,然后再依赖 二进制日志从备份时间点逐步恢复到执行 update 语句前。

如果这两样都没有,则没办法了。

#12


看来是没有办法了,多谢大家了!