码迷,mamicode.com
首页 > 其他好文 > 详细

参数max_allowed_packet

时间:2014-10-08 15:20:45      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:style   color   使用   strong   sp   c   问题   on   r   

通信信息包是发送至MySQL服务器的单个SQL语句,或发送至客户端的单一行。

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

 

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

客户端程序,其max_allowed_packet变量的默认值为16MB

服务器的默认max_allowed_packet值为1MB。如果服务器需要处理大的查询,可增加该值(例如,如果准备处理大的BLOB列)。

 

增加该变量的值十分安全,这是因为仅当需要时才会分配额外内存。例如,仅当你发出长查询或mysqld必须返回大的结果行时mysqld才会分配更多内存。该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包,并确保不会因偶然使用大的信息包而导致内存溢出。

如果你正是用大的BLOB值,而且未为mysqld授予为处理查询而访问足够内存的权限,也会遇到与大信息包有关的奇怪问题。如果怀疑出现了该情况,请尝试在mysqld_safe脚本开始增加ulimit -d 256000,并重启mysqld

 

参数max_allowed_packet

标签:style   color   使用   strong   sp   c   问题   on   r   

原文地址:http://www.cnblogs.com/suredandan/p/4010911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!