首页 > 解决方案 > 行从 MySQL 中消失,最大允许大小可能是原因吗?

问题描述

我有一个包含一些数据的表。

从日志中,我可以看到它插入了一条记录,并获得了它的 ID。

ID 来自 MySQL,因为它是自动增量的。然后,大约 2 秒后,该记录一定消失了,因为从日志中,我可以看到它再也找不到它了。

这发生在 2019-11-18 21:06。

在数据库中,我可以看到记录丢失。下一个插入的记录确实存在。这是大约 5 年以来第一次有记录消失,或者我知道的。

在 MySQL 日志中,我收到了这样的消息,它们是关于具有消失条目的表(myfield、myservername、mydb.mytable 我已经替换了原始名称),在此事件之前也有类似的消息。

11 月 18 日 00:33:49 myservername MySQL:2019-11-18 0:33:49 139725497882368 [警告] InnoDB:无法在表 mydb.mytable 中添加字段 myfield,因为添加后,行大小为 8840,大于最大值索引叶页上记录的允许大小 (8126)。

实际的问题是,这可能是记录消失的原因吗?

标签: mysqlmariadb-10.2

解决方案


这是一个用户问题。管理员已删除该条目 - 他设法删除了 5 秒前刚刚创建的条目。

我仍然必须弄清楚这些错误意味着什么,因为该字段存在。但这是一个完全不同的问题。感谢您的评论,向我保证这不会是 MySQL 中的错误,所以我继续搜索。

作为参考,我在 dba.stackexchange 上找到了这个,但据我所知,这不会导致行消失,就像我经历的那样。 https://dba.stackexchange.com/questions/47109/mysql-row-does-not-persist-but-primary-key-with-auto-increment-is-incremented


推荐阅读