目前我们正在使用MySQL版本5.1.72数据库。它不是集群数据库,而是常规集群数据库。 64位(“mysql Ver 14.14 Distrib 5.1.72,sun-solaris2.11(x86_64)使用readline 6.3”)我们使用的是专用服务器,而不是冗余云解决方案。我经历过,我们挤进平台的客户越多,我们遇到的问题就越多
2016-02-15 13:26:36,737 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 1205, SQLState: 41000>
2016-02-15 13:26:36,737 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Lock wait timeout exceeded; try restarting transaction>
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not insert: [com.marin.core.server.model.TableName]
可以切换到另一个数据库帮助我们吗?或者只是MySQL的集群版本?有些表中有数百万行。最大的表大小约为5 GB。它有很多指数。
答案 0 :(得分:0)
通常这种问题是由
引起的建议您设置long_query_time=1
并启用slowlog。然后等一天,运行mysqldumpslow -s t
或pt-query-digest
,找出运行时间长的内容。 (注意:特定超时通常表现为几乎完全耗费50秒的查询。)
然后,让我们查看查询和SHOW CREATE TABLE
,修复它们,并教育您的用户如何避免重复此问题。