前一段时间,我们开始在 MySQL 数据库中存储序列化数据,并立即遇到众所周知的“数据包太大”错误。我们将 max_allowed_packet 增加到 64M,一切正常。
今天早上,我突然收到一个too large packet 26814732
错误,尽管
mysql> show variables like '%packet%';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| max_allowed_packet | 67108864 |
+--------------------+----------+
1 row in set (0.00 sec)
这怎么可能?我找到了这篇相关文章,但我们没有处理 mysqldump,我们没有更改任何其他数据库配置设置,而且我们已经存储了比这个更大的 BLOB。是什么改变导致了这种情况?