mysql如何快速回滚

实践出真知,下面针对两种主要提升事务回滚速度的方式进行验证,一种是提升操作可用内存空间,一种是通过停实例,禁用 redo 回滚方式进行进行验证。仔细阅读过官方手册的同学,一定留意到了对于提升大事务回滚效率,官方提供了两种方法:一是增加 innodb_buffer_pool_size 参数大小,二是合理利用 innodb_force_...
mysql如何快速回滚
mysql命令行下怎样实现数据的回滚操作
在MySQL有时执行了错误的update或者delete时导致大量数据错误恢复的办法。执行时没有开启事务,也没有对数据进行。这时就需要使用到sqlbinlog工具。
sqlbinlog需要开启,具体的打开方法就不说了。

使用sqlbinlog会产生bin文件,恢复就需要用到这些文件。文件中记录着数据库的所有操作。(此方法的操作是将数据库之前所执行的语句重新执行一次,以达到恢复效果)
具体步骤:1,先找到bin文件,一般都是在mysql的data文件夹中,结尾以.00000X等形式结束。
2,寻找需要还原的时间点 使用语句 mysqlbinlog 文件名 例(MySQLbinlog xxbin.000001)来查看内容,然后找到对应的具体时间
3,导出sql语句,使用语句 mysqlbinlog 文件名>sql文件路径 例(mysqlbinlog xxxbin,00001>>a.sql | mysql -u root -p )
如果需要指定时间导出--start--date -stop='' --date='' 来导出指定时间执行的语句例(sqlbinlog --start-stop='2015-11-22 10:00:00' xxbin.000001>a.sql | mysql -u root -p )这句意思是导出在2015-11-22 10点之前的语句,反之start是导出时间之后的。 start和stop可以同时使用。
如果存在多个bin文件,则按照需要导出。
4,使用mysql将导出的语句执行一次。2018-06-22
我们经常会遇到操作一张大表,发现操作时间过长或影响在线业务了,想要回退大表操作的场景。在我们停止大表操作之后,等待回滚是一个很漫长的过程,尽管你可能对知道一些缩短时间的方法,处于对生产环境数据完整性的敬畏,也会选择不做介入。最终选择不作为的原因大多源于对操作影响的不确定性。实践出真知,下面针对两种主要提升事务回滚速度的方式进行验证,一种是提升操作可用内存空间,一种是通过停实例,禁用 redo 回滚方式进行进行验证。

仔细阅读过官方手册的同学,一定留意到了对于提升大事务回滚效率,官方提供了两种方法:一是增加 innodb_buffer_pool_size 参数大小,二是合理利用 innodb_force_recovery=3 参数,跳过事务回滚过程。第一种方式比较温和,innodb_buffer_pool_size 参数是可以动态调整的,可行性也较高。第二种方式相较之下较暴力,但效果较好。
两种方式各有自己的优点,第一种方式对线上业务系统影响较小,不会中断在线业务。第二种方式效果更显著,会短暂影响业务连续,回滚所有没有提交的事务。2021-01-13
mengvlog 阅读 8 次 更新于 2025-07-21 06:55:29 我来答关注问题0
  •  翡希信息咨询 Mysql数据误删除快速回滚

    针对Mysql数据误删除,快速回滚的方法是利用binlog2sql工具。以下是具体的操作步骤:确认MySQL Server配置:在进行回滚操作前,需要确认MySQL Server已经开启了binlog功能,并且配置了合适的binlog格式,以便能够记录详细的SQL操作。安装MySQL客户端:如果系统中没有安装MySQL客户端,需要安装相应版本的MySQL客户...

  • 1. 在回滚前,需先确认MySQL Server的配置参数。2. 若无MySQL命令,需安装相应版本的MySQL客户端,如Centos7的mariadb或Centos6的mysql。3. 安装binlog2sql回滚工具。4. 授权用于回滚的MySQL用户。5. 实验模拟误删除操作。6. 查看误删除时间点的日志文件。7. 查看误删除时间点的具体SQL操作。8. 生...

  •  文暄生活科普 Mysql数据误删除快速回滚

    1. **确认Mysql Server配置参数**:在进行数据恢复前,应了解当前服务器的配置设置,确保安全性和兼容性。2. **安装Mysql客户端**:根据您的操作系统选择对应的Mysql客户端包进行安装。3. **安装binlog2sql回滚工具**:确保在您的系统上已安装binlog2sql,这是执行数据恢复的关键工具。4. **授权...

  •  翡希信息咨询 MySQL 核心模块揭秘 | 13 期 | 回滚到 savepoint

    MySQL 的部分回滚操作主要包括以下四个核心步骤:无实际动作的 binlog 回滚:当执行回滚操作时,虽然 binlog 日志在 trx cache 中被标记为需要回滚,但此步骤并不会立即清除或真正修改这些日志。这一步主要是为后续 InnoDB 回滚做准备,确保在 InnoDB 层回滚完成后,binlog 日志能够被正确地清理。InnoDB...

  • MySQL中可以通过ROLLBACK语句来实现事务回滚,ROLLBACK语句可以回滚到事务开始之前的状态,并撤销所有之前已经执行的SQL操作。如果在执行ROLLBACK语句时发生错误,则可以使用ROLLBACK TO SAVEPOINT语法来回滚到指定的保存点。以下是一个实现事务回滚的例子:BEGIN;INSERT INTO users (name, eml, address) VALUES...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部