一尘不染

MySQL错误1153-收到的数据包大于'max_allowed_pa​​cket'字节

mysql

我正在导入MySQL转储,并收到以下错误。

$ mysql foo < foo.sql 
ERROR 1153 (08S01) at line 96: Got a packet bigger than 'max_allowed_packet' bytes

显然,数据库中存在附件,这使得插入量非常大。


这是在我的本地计算机上,一台从MySQL软件包安装了MySQL 5的Mac。

我在哪里更改max_allowed_packet才能导入转储?

还有什么我应该设置的吗?

只是运行会mysql --max_allowed_packet=32M …导致相同的错误。


阅读 255

收藏
2020-05-17

共1个答案

一尘不染

您可能必须为客户端(您正在运行以执行导入)和正在运行并接受导入的守护程序mysqld进行更改。

对于客户端,可以在命令行上指定它:

mysql --max_allowed_packet=100M -u root -p database < dump.sql

另外, 更改 mysqld部分下 的my.cnf或my.ini文件 并设置:

max_allowed_packet=100M

或者您可以在连接到同一服务器的MySQL控制台中运行以下 命令

set global net_buffer_length=1000000; 
set global max_allowed_packet=1000000000;

(对于数据包大小,请使用非常大的值。)

2020-05-17