我正在导入一个MySQL转储,并得到以下错误
$mysql foo<;foo.sql
第96行出现错误1153(08S01):获取的数据包大于“允许的最大数据包”字节
显然,数据库中有附件,这使得插入非常大
这是在我的本地机器上,一台从MySQL包中安装了MySQL 5的Mac
在哪里更改max\u allowed\u packet以导入转储
还有什么我需要安排的吗
仅仅运行mysql–max_allowed_packet=32M…就会导致相同的错误
您可能必须为客户端(您正在运行以执行导入)和正在运行并接受导入的守护程序mysqld更改它
对于客户端,可以在命令行中指定它:
mysql--max\u allowed\u packet=100M-u root-p数据库<;dump.sql
另外,更改mysqld部分下的my.cnf或my.ini文件(通常位于/etc/mysql/)并设置:
允许的最大数据包数=100M
或者,您可以在连接到同一服务器的MySQL控制台中运行这些命令:
设置全局净缓冲区长度=1000000;
设置全局最大允许分组数=100000000;
(数据包大小使用非常大的值。)