You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

云MySQL报锁等待超时错误,如何修改innodb_lock_wait_timeout参数

云MySQL innodb_lock_wait_timeout参数调整方案

报错信息:General error: 1205 Lock wait timeout exceeded; try restarting transaction

一、主流云厂商持久化调整步骤(阿里云/腾讯云/华为云等通用)

  • 进入对应云厂商的云数据库RDS控制台,打开目标实例的详情页面
  • 在侧边栏找到参数设置(部分厂商命名为参数配置、数据库参数)模块
  • 在参数搜索框输入innodb_lock_wait_timeout,该参数默认值通常为50,单位为秒
  • 结合业务场景调整参数值,首次调整建议设置为120即可,不要设置过大避免死锁长时间占用数据库资源
  • 提交参数修改后即可生效,绝大多数云厂商该参数无需重启实例就能即时生效

二、临时调整方案(仅适用于测试场景,实例重启后会恢复默认值)

如果仅需要临时调整验证问题,可以直接登录数据库执行以下SQL命令:

-- 查看当前会话的超时时间配置
SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';
-- 调整当前会话的超时时间为120秒,仅对当前登录会话生效
SET SESSION innodb_lock_wait_timeout = 120;
-- 若需要全局临时生效,需使用高权限账号执行,实例重启后会恢复默认配置
SET GLOBAL innodb_lock_wait_timeout = 120;

三、配套优化建议(避免仅靠调整参数掩盖核心业务问题)

  • 优先排查Yii2应用中是否存在长事务,不要在事务逻辑中嵌入第三方接口调用、本地文件读写等非数据库操作,尽可能缩短事务执行时长
  • 检查是否存在热点行更新场景,比如批量操作频繁修改同一条数据,建议拆分批量操作为小批次提交
  • 报错时可以执行SHOW ENGINE INNODB STATUS查看最近的死锁日志,定位冲突的SQL语句针对性优化

内容的提问来源于stack exchange,提问作者almacenamiento fullcloud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:36:04