专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

SQL数据呗delete后如何回滚_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 14:46:54       共计:3578 浏览
SQL数据呗delete后如何回滚?

操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里先说明下因为Delete 操作的恢复方法:主要还是通过binlog来进行恢复,前提是binlog_format必须是Row格式,否则只能通过备份来恢复数据了。方法: 条件:开启Binlog,Format为Row。 步骤:1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录:2.数据取出来之后,需要把数据解析反转,原始数据:

Row格式的binlog记录的格式如上面所示,需要做的工作就是吧Delete的操作转换成Insert操作,发上面的都是有一定规律的,并且需要注意的是:

1、字段类型 DATETIME 日期。在日志中保存的格式为 @4=2012-10-25 00:00:00,需要将2012-10-25 00:00:00加上引号。

2、负数。在日志中保存的格式为 @1=-1 (4294967295), -2(4294967294),-3(4294967293),需要将()里面的数据去掉,只保留@1=-1。

3、转义字符集。如:'s,\,等。上面3点清楚之后,可以写一个脚本(水平有限,在提升中,写的不好看):

View Code

执行脚本:方法:python 脚本名 binlog文件 字段数目

python restore.py binlog.txt 36 > binlog.sql

命令行中的36 表示 需要还原的表的字段有36个,效果:

最后还原:

总结:下次整理Row和STATEMENT的优劣。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql查询 排序,mysql聚合索引怎么起作用_数据库 | ·下一条:mysql 插入和查询,请教mysql怎么实现向多个表同时插入数据_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有