Mysql sleep命令长时间锁定这么多行

时间:2016-06-13 12:03:30

标签: mysql database

我试图在imporitng转储后更新DB中的内容,但是在提交时我收到超时,等待并在1小时后尝试相同的命令。

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

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

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

任何想法都可以吗?!

1 个答案:

答案 0 :(得分:1)

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

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

此固定并发查询超时问题。