[英]Is there any way to rollback after commit in MySQL?
我犯了一个大错误,我在MySQL中没有'where'子句更新了一个表:'(
它是自动提交的。
有没有办法从它回滚?
不,没有任何查询可以“撤消”已提交的数据修改查询。
如果你有数据库的备份,你可以恢复备份并使用DBA工具(在MySQL的情况下,它是mysqlbinlog )从备份回到数据库,从日志中“重放”所有数据修改查询,但跳过问题查询。
如果自备份以来没有备份和所有日志,则无法恢复数据。
查找事务日志。 我将更新更多信息,但日志可能只会在有限的时间内保持,所以时间是至关重要的!
请参阅: http : //dev.mysql.com/doc/refman/5.0/en/point-in-time-recovery.html
如果您启用了mysql binlog并且它是基于ROW的格式,那么您可以在更新之前和之后获取每一行的值。 使用它可以恢复表的状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.