WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
系统注册表系统命令DOSWin8
存储光存储键盘鼠标
内存维修打印机维修
WinXPVistaWin7linux
硬件综合机箱电源/散热器手机数码
主板维修CPU维修键鼠维修网页设计
办公教程ExcelWordPowerPointWPS
网络工具系统工具图像工具
PS教程数据库局域网服务器
PHP教程CSSjavascriptXML

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%
------分隔线----------------------------
你可能感兴趣的内容