首页 > 数据库 >云上的RDS mysql长事务kill时间很长怎么解决

云上的RDS mysql长事务kill时间很长怎么解决

时间:2023-11-07 14:33:48浏览次数:35  
标签:语句 事务 RDS 回滚 事务处理 kill mysql

【问题】实例删除大事务之后,kill时间较长, 运行中

【建议&注意事项】 超大事务执行期间被 kill。这时候,回滚操作需要对事务执行期间生成的所有新数据版本做回收操作,这种场景耗时会比较长。
建议:

1. 通过影响系统环境,让这个 Killed 状态尽快结束。比如:临时调大 innodb_thread_concurrency 的值,或者停掉别的线程;
2. 通过减少系统压力让它加速。目前看 iops 利用率已经超过 100%了,回滚中了 您大事务执行时间太长了 回滚也需要时间;
3、重启可能比等着快点 但是会有 数据丢失或不一致风险 您评估下;
当前实例已经在18;57分 回滚成功,实例恢复正常。

 
重启可能比较快 但是对实例数据有影响 只能等着

如果云上的RDS MySQL长事务kill时间很长,可以尝试以下解决方案:

  1. 检查事务是否存在死锁:使用SHOW ENGINE INNODB STATUS命令查看InnoDB引擎的状态信息,如果存在死锁,则需要解锁后再尝试kill事务。

  2. 检查事务是否占用了大量的资源:使用SHOW PROCESSLIST命令查看当前正在执行的进程列表,如果事务占用了大量的CPU或内存资源,则需要等待一段时间后再尝试kill事务。

  3. 增加等待超时时间:可以通过设置innodb_deadlock_detect_interval参数来增加等待超时时间,以避免长时间等待kill事务。

  4. 使用ALTER TABLE语句重建表索引:如果表索引损坏或者需要重新构建,可以使用ALTER TABLE语句重建表索引,以提高查询性能和事务处理效率。

  5. 增加硬件资源:如果事务处理需要大量的CPU或内存资源,可以考虑增加硬件资源,例如增加CPU核心数或内存容量。

  6. 优化SQL语句:如果SQL语句执行时间过长,可以通过优化SQL语句来提高查询性能和事务处理效率。

  7. 使用RDS监控工具:可以使用RDS监控工具来监控数据库的运行状态,及时发现和解决问题。

需要注意的是,在kill长事务时,需要谨慎操作,以免造成数据丢失或者数据不一致的问题。建议在操作前备份数据,并且确认事务的状态和数据一致性。

标签:语句,事务,RDS,回滚,事务处理,kill,mysql
From: https://www.cnblogs.com/wzljy/p/17699322.html

相关文章

  • 如何避免Mysql的timestamp的大坑
    如何避免Mysql的timestamp的大坑Mysql的timestamp类型讨论需要测试MYSQL的同学,可以点以下链接免费试用腾讯云mysql服务器https://curl.qcloud.com/tgnMO3KJ一.时间戳字段定义timestamp时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起到......
  • linux版本mysql安装
    linux版本mysql安装1先检查有没有安装mariadb,有的话将其卸载,不然会和mysql冲突。yumlist|grepmariadbmariadb-libs.x86_641:[email protected]_641:5.5.68-1.el7basem......
  • 《MySQL》复习必刷知识点
    1.数据库SQL语言的缩写DDL:数据定义语言DataDefinitionLanguage,定义语言就是定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象,比如表、聚簇、索引、视图、函数、存储过程和触发器关键字包括:Create,Alter,Drop,TruncateDML:数据操纵语言全称是DataManipulationLa......
  • MYSQL 表空间恢复
    MYSQL表空间恢复由于ibdata1文件小心被删除,数据库数据看到具体思路,重建数据,移动出问题的数据上的idb文件进行恢复。前提表没有问题,必须要有原始的建表语句,由于mysql的自带数据没有问题,就不需要进行恢复原始建库建表语句(只要表结构)可以从其他节点复制过来(如mysqlslave节......
  • Mysql一些操作笔记
    1.如何在MySQL中表的时间格式字段加上指定天数?UPDATE表名SETdate1=date1+interval4dayWHERE条件;其中,4表示需要增加的天数,条件是MySQL的where子句,根据实际的表结构,生成适当的筛选条件。此外,也可以使用date_add函数在MySQL中添加指定天数,比如,要增加6天:UPDAT......
  • mysql binlog常用脚本(解析与反解析)
     解析binlog方法1:mysqlbinlogmysqlbinlog--no-defaults--base64-output=decode-rows-vv--database=dboop--start-datetime='2020-10-1100:00:00'--stop-datetime='2020-10-1115:00:00'mysql-bin.000075>75.sql 常用参数database:只列......
  • 如何解决MySQL主从复制延时问题
    MySQL主从复制是面试中不可避开的重要一环,里面的知识点虽然基础,但是能回答全的同学不多,今天我们再来老生常谈一下。本文全文内容如下。  1.MySQL主从1.1什么是MySQL主从?MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL......
  • mysql blob和text的区别
    一:主要区别TEXT与BLOB的主要差别就是BLOB保存二进制数据,TEXT保存字符数据。目前几乎所有博客内容里的图片都不是以二进制存储在数据库的,而是把图片上传到服务器然后正文里使用标签引用,这样的博客就可以使用TEXT类型。而BLOB就可以把图片换算成二进制保存到数据库中。二、类型区......
  • [翻译]——How the MySQL Optimizer Calculates the Cost of a Query (Doc ID 1327497
    本文是对这篇文章HowtheMySQLOptimizerCalculatestheCostofaQuery(DocID1327497.1)的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!适用于:MySQL4.0及后续更高的版本本文档中的内容适用于任何平台。目标了解MySQL优化......
  • Debug - MySQL - Err 1062 duplicate entry xxxx for key xxx
    可能原因1脏数据存在 可能原因2当你手动刷sql修改表结构时,可能这张表正有写库操作。一边写库一边修改表结构,就会出现这种错误。。。原因未知,猜测和锁表有关系 两次错误提示:详细的数据是不一样的....而且日期是今天的,说明不是脏数据  等待写库程序结束,再刷表就没......