max_allowed_packet Mysql 5.1遇到的信息包过大问题

来源:互联网 发布:北大汇丰商学院知乎 编辑:程序博客网 时间:2024/06/05 05:55

今天再用客户端导入数据的时候,遇到 错误代码: 1153 - Got a packet bigger than 'max_allowed_packet' bytes 终止了数据导入。

 

上网查了一下,当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。对于某些客户端,如果通信信息包过大,在执行查询期间,了能回遇到“丢失与MySQL服务器的连接”错误。

 

客户端和服务器均有自己的max_allowed_packet变量,因此,如你打算处理大的信息包,必须增加客户端和服务器上的该变量。

 

一下是几种重新设置方法

 

1. 如果你正在使用mysql客户端程序,其max_allowed_packet变量的默认值为16MB。要想设置较大的值,可用下述方式启动mysql

 

mysql> mysql --max_allowed_packet=32M

2. 服务器的默认max_allowed_packet值为1MB。如果服务器需要处理大的查询,可采用下述方式启动服务器:
mysql> mysqld --max_allowed_packet=16M

3.配置my.ini

在my.ini 加入
[mysqld]
max_allowed_packet=16M