max_allowed_packet解析

max_allowed_packet 定义

  • max_allowed_packet:指代mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小
  • 这个是定义mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小的参数
  • 服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB 字段一起工作时相当必要), 每个连接独立的大小.大小动态增加。
  • 设置最大包,限制server接受的数据包大小,避免超长SQL的执行有问题 默认值为16M,当MySQL客户端或mysqld服务器收到大于 max_allowed_packet 字节的信息包时,将发出“信息包过大”错误,并关闭连接。
  • 对于某些客户端,如果通信信息包过大,在执行查询期间,可能会遇到“丢失与 MySQL 服务器的连接”错误
  • 数据包其实是网络包缓冲区的大小,packet 先将数据写入缓存区,再通过socket发送


如何修改max_allowed_packet的值

  1. 直接在 my.cnf中修改参数大小,修改后重启mysql server
  2. 进入mysql,修改参数大小 —— set global max_allowed_packet = xx
  3. 查看max_allowed_packet 参数大小 —— show variables like 'max_allowed_packet';
mysql 中通过命令直接修改 —— set global max_allowed_packet = 100 * 1024 * 1024; 命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,下次数据库重启后又复原了


借鉴

深入理解 max_allowed_pcaked

http://blog.itpub.net/7728585/viewspace-2138631/

小文章

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容