问答一下,轻松解决,电脑应用解决专家!
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win10/Win11
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascriptLinux系统
PHP教程CSS教程XML教程

MySQL被误操作的更新或删除后如何回滚

更新时间:2021-06-05 11:15 作者:wencst点击:

首先,需要确认mysql开启了binlog


打开mysql默认的配置文件地址
#vim /etc/my.cnf

如果没有开启,那么比较遗憾,我暂时还没找到其他回滚的方法。
如果不是Row格式的,我也没有试过,查的资料中都是要求开启Row格式。

然后,打开mysql服务器端,输入如下命令:


注意上方图片中datadir的地址,需要先进入此文件夹,否则可能会报文件找不到的错误
# mysqlbinlog  –no-defaults  –start-datetime=’2016-09-19 14:56:00′  –stop-datetime=’2016-09-19 14:57:00′  -vv mysql-bin.000056 > /home/wencst/restore/binlog.txt
注意,时间的起止时间越精确找到的对应误操作语句会更精准

最后,将binlog.txt文件导出来分析



找到对应的update或delete语句,可以看到,虽然我们执行的是一个update语句,而实际log中记录的是针对每一条数据都会出现这么一条语句,而且这条语句包含了修改或删除前的数据,那么后面我们就知道该如何还原了吧?

如图,我改的是第18个字段。目前我还没有做自动生成还原语句的脚本,如果小伙伴们有兴趣自己做对应的脚本,可以回复到下方,供大家参考,谢谢。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容