【问题标题】:Mysql sleep command is locking so much rows for long timeMysql sleep 命令长时间锁定这么多行
【发布时间】:2016-06-13 12:03:30
【问题描述】:

我试图在导入转储后更新数据库中的某些内容,但在提交时我收到超时,并且在等待并在 1 小时后尝试相同的命令时它可以工作。

经过一些分析后,我观察了正在使用的运行事务 show engine innodb status; 发现有事务正在锁定一些行,并且会像这样:

---事务 14752,活动 1177 秒 36 个锁结构,堆大小 6544,174 行锁,撤消日志条目 401 MySQL 线程 id 17,OS 线程句柄 0x7fdda87ee700,查询 id 150523 192.17.0.6 MyApp 清理

show full processlist; 我看到这个 id = 17 的线程是 Sleep 命令。

有什么想法吗?!

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    朋友让我禁用SQL严格模式http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

    SET GLOBAL sql_mode = ''; SET SESSION sql_mode = '';

    此修复了并发查询超时问题。

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 2012-01-17
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多