更新后无限的交易问题 mysql 5.0-> 5.6

我更新了我们的整个服务器 mysql db 从 5.0 到 5.6, 包括变革

一些

table 在 innodb, 从那时起,我们只有无尽交易所遇到的任何问题。 我仍然有一个中间服务器使用 5.0, 我可以确认我们只在新数据库服务器上停止了已停止的事务。 两个服务器都在模式下工作 tx_isolation = REPEATABLE-READ (
http://dev.mysql.com/doc/refma ... .html
). 我几乎相信所有涉及的表格 - 这是 InnoDB 对于两个服务器。

那么,我们遇到的问题的一个简单的例子, - 这是一种发送欢迎信件的过程,它将作为主管的子元素推出 (不是很重要). 在舞台上 env 从 mysql 5.0 连接持续几分钟而且没有开放事务:

From show full processlist:
1639945 dbuser <app-stage>:54536 db Sleep 246 NULL

InnoDB transaction logs:
<nothing>

与我们的生产环境完全相同的节目 mysql 5.6 和一个突然的后裔 - 恶魔,这阻止了非常重要的表格,永远不会释放它们。

From show full processlist:
28674638 dbuser <app-prod>:54836 db Sleep 67131 NULL

Innodb transaction:
---TRANSACTION 90461789, ACTIVE 67062 sec
MySQL thread id 28674638, OS thread handle 0x7f8ab934f700, query id 758722407 <app-prod> dbuser cleaning up
Trx read view will not see trx with id &gt;= 90461790, sees &lt; 89033402

当它不会引起可怕的问题时,交易如下所示:

---TRANSACTION 111578756, not started
MySQL thread id 42149496, OS thread handle 0x7f8ac29b4700, query id 975441865 <app-prod> dbuser cleaning up

有人有建议吗? 我思考在没有固定的情况下包含阅读交易模式,但 ... 它看起来像是一个对另一个问题的纠正,我真的需要知道什么是最初的问题!
</app-prod></app-prod></app-prod></nothing></app-stage>
已邀请:

奔跑吧少年

赞同来自:

所以我不明白如何调用这个问题,但它是某种方式与真正的大表相连 innodb 在我们的一个数据库中。 在其中一个是更多 303 百万线。 当我在每晚安装多个脚本来删除旧数据时,问题永远消失了。 事实上,这些不是非常重要的表,以及大多数部分他们只记录,但通常没有读。 每个人也有太多指数。

在任何情况下,如果您有此问题,请尝试将所有表格减少到 10-15 数百万记录。

要回复问题请先登录注册