3

我们正在尝试安装 manatee 软件,但出现此错误。

mysql -u manatee cgspu -p --max_allowed_packet=4096M < to-insert.sql
Warning: option 'max_allowed_packet': unsigned value 4294967296 adjusted to 2147483648
Enter password: 
ERROR 1153 (08S01) at line 1: Got a packet bigger than 'max_allowed_packet' bytes

Mysql 确实在设置 max_allowed_pa​​ckets,我们检查mysql --help 哪个显示

max_allowed_packet                2147483648

有什么办法可以规避这种情况吗?我不得不从初始数据库中删除那一行,填写makefile,甚至让它安装软件。

现在我在数据库之外留下了一行,无法插入它。

4

1 回答 1

3

编辑:

您可能需要max_allowed_packet 在服务器上设置。

尝试这个:

(echo 'SET GLOBAL max_allowed_packet=1073741824;' ; cat to-insert.sql) |
mysql -u manatee cgspu -p --max_allowed_packet=1073741824

看看是否可以解决您的问题。

是否to-insert.sql包含大于 2G 的单个 SQL 语句?

或者它是否包含多行INSERT

INSERT INTO example VALUES 
(1),(2),(3), ....

如果是这样,请将这些重写为单独的INSERT语句:

INSERT INTO example VALUES (1);
INSERT INTO example VALUES (2);
INSERT INTO example VALUES (3);

如果您to-insert.sql使用创建mysqldump,请尝试使用以下命令重新导出记录:

mysqldump --skip-extended-insert ...
于 2012-08-03T16:14:45.137 回答