为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Qyouu 2019-08-09 14:47:16
MySQL错误1153 - 获得的数据包大于'max_allowed_packet'字节我正在导入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 …导致了同样的错误。
查看完整描述

3 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

您可能必须为客户端(您正在运行以执行导入)和正在运行并接受导入的守护程序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;

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


查看完整回答
反对 回复 2019-08-09
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

作为michaelpryor说,你必须改变它为双方的客户守护程序mysqld服务器。

他对客户端命令行的解决方案很好,但是根据配置,ini文件并不总能解决问题。

因此,打开一个终端,键入mysql以获取mysql提示符,并发出以下命令:

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

保持mysql提示符处于打开状态,并在第二个终端上运行命令行SQL执行。


查看完整回答
反对 回复 2019-08-09
?
RISEBY

TA贡献1856条经验 获得超5个赞

这可以my.ini在服务器部分下的文件中(在Windows上,位于\ Program Files \ MySQL \ MySQL Server中)进行更改,例如:

[mysqld]max_allowed_packet = 10M


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 1065 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信