mysql参数学习----max_allowed_packet
mysql客户端和服务器之间的通信协议是“半双工”的,这意味着,在任何一个时刻,要么是由服务器向客户端发送数据,要么是由客户端向服务器发送数据,这两个动作不能同时发生,所以,我们无法也无须将一个消息切成小块独立来发送。
这种协议让mysql通信简单快速,但也从很多地方限制了mysql。一个明显的限制是,这意味着没法进行流量控制。一旦一端开始发生消息,另一端要接收完整的消息才能去响应它。这就像来回抛球的游戏,在任何时刻,只有一个人能控制球,而且只有控制球的人才能将球抛回去(发送消息)。
客户端用一个单独的数据包将查询传给服务器。这也是为什么当查询的语句很长的时候,参数max_allowed_packet就特别重要了。一旦客户端发送了请求,它能做的事情就只是等待结果了。
– 高性能MySQL(第3版)
设置意义:降低服务端接收请求的最大周期限制,提高服务端的响应效率。
设置如下:
max_allowed_packet = 16M