Mysql InnoDB:在死锁部分显示引擎状态截断查询
最近,我在解决死锁问题时遇到了一些问题,因为引擎日志没有显示所涉及的完整查询。Hibernate生成了一些相当长的查询,在我所关注的两种情况下,InnoDB在打印线程信息(以“MySQL thread id…”开头的行)和查询本身(选择*from…)时将自身限制为1024个字符 在调查这一点时,我发现一个客户抱怨同一个问题,该问题有一个相关的解决方案,可以让我们解决这个问题。但是,我被告知在5.0或5.1中都没有名为max_query_len的DB变量。这对我来说很奇怪,因为旧的限制是300个字符(我看到的超过300个字符),但它实际上似乎不可配置。我的问题是这到底发生了什么-是否有一个我没有看到的补丁改变了修复?5.0.12的变更日志确实表明问题已经解决:Mysql InnoDB:在死锁部分显示引擎状态截断查询,mysql,sql,hibernate,innodb,Mysql,Sql,Hibernate,Innodb,最近,我在解决死锁问题时遇到了一些问题,因为引擎日志没有显示所涉及的完整查询。Hibernate生成了一些相当长的查询,在我所关注的两种情况下,InnoDB在打印线程信息(以“MySQL thread id…”开头的行)和查询本身(选择*from…)时将自身限制为1024个字符 在调查这一点时,我发现一个客户抱怨同一个问题,该问题有一个相关的解决方案,可以让我们解决这个问题。但是,我被告知在5.0或5.1中都没有名为max_query_len的DB变量。这对我来说很奇怪,因为旧的限制是300个字
"SHOW ENGINE INNODB STATUS now can display longer query strings. (Bug #7819)"
但在我看来,事实并非如此。当死锁发生时,我们可能运行的最旧版本是5.0.56,因此我们至少应该有5.0.12版本的修复程序-虽然我们有较新的版本在运行,但是,可能已经覆盖了截断查询的修复程序的较新版本可以被应用。有人知道这里发生了什么导致打印内容的限制再次降低了吗?建议您在bugs.mysql.com中创建一个新的bug。参考文件7819。将错误号添加到此线程。在此创建的错误-。