MySQL 服务器已消失

MySQL 服务器已消失

我有一个 2 GB 的数据库转储,我想将其导入 mysql。当我运行导入时,我得到以下信息:

> mysql -u myUser -p < dbDump.sql
Warning: option 'max_allowed_packet': unsigned value 104856551424 adjusted to 2147483648
Error 2006 (HY000) at line 2835: MySQL server has gone away

我的 max_allowed_pa​​cket 当前设置为

max_allowed_packet=99999M

我已经在 Google 上搜索过这个问题,有些用户报告说这个问题可以通过更改 wait_timeout 值来解决。问题是我的转储在不到 5 秒的时间内超时,所以我不认为 wait_timeout 是问题所在。

关于为什么我的转储失败还有其他想法吗?

[已解决]:根据 stolsvik 的建议,我检查了转储文件中第 2835 行的内容。我发现它包含命令 set global max_allowed_pa​​cket=200,该命令使我之前设置的较大值无效。我删除了有问题的行,现在转储已成功完成。

答案1

出现警告是因为您的 max_allowed_pa​​cket 太大了。您可以尝试直接将其设置为它调整后的值 2147483648,这显然是 204MB。但是您的 db-dump 中真的有这么大的 BLOB 吗?

关于 max_allowed_pa​​cket 的参考

答案2

考虑用您喜欢的编辑器检查 mysql 转储文件的内容。重点检查第 2835 行,因为服务器在错误中特别提到了它。

相关内容