我正在导入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才能导入转储?
max_allowed_packet
还有什么我应该设置的吗?
只是运行会mysql --max_allowed_packet=32M …导致相同的错误。
mysql --max_allowed_packet=32M …
您可能必须为客户端(您正在运行以执行导入)和正在运行并接受导入的守护程序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;
(对于数据包大小,请使用非常大的值。)