最近我一直致力于将一个非常大的客户端数据库从共享主机迁移到 VPS(仅主数据库的大小约为 5GB),而我已经成功地通过 shell 迁移了大部分表(并将数据包上限增加到 2GB)特别是有一张表给我带来了问题。
问题是我在表格中间有大约 20k 行,它们不会在 phpMyAdmin 或通过 shell 中上传,因为它们包含 base64 编码的图像,这会导致 mySQL 向我抛出“最大数据包到达错误”,即使上限是2GB。
我尝试联系我的服务器管理员和他的支持团队,他们也对如何处理这些数据感到困惑,因此非常感谢任何帮助。
此外,有问题的表只有 160mb 左右未压缩,而单独的段(与其他段分开)只有 ~60mb,所以我认为数据包上限不是问题。
更新我刚刚运行查询以显示数据包大小,MySQL 显示:max_allowed_packet 值下的 1048576
update2当我在 MySQL 中显示警告时,我不断收到有关行中没有所有列中的数据的错误,但是当我用 Null 替换空字符串时,错误仍然存在,所以我仍然感到困惑
IonCube 似乎在原始客户端服务器上启用,所以我不确定这是否也会导致任何错误。