max_conecctions:整个MySQL允许的最大连接数
这个参数主要影响的是整个MySQL应用的并发处理能力,当系统中实际需要的连接量大于max_conecctions时,必然会产生连接请求的等待,从而限制了相应的并发量。只要主机性能允许,可将该参数设置得尽可能大一点,500到800左右是一个比较合适的参考值
max_user_connections:每个用户允许的最大连接数
max_user_connections是针对单个用户的连接限制。在一般情况下可能较少使用这个限制,可能只有在一些专门提供MySQL数据存储服务,或者是提供虚拟主机服务的应用中须要用到
net_buffer_length:TCP/IP和套接字通信缓冲区netbuffer大小
影响的是网络传输的效率,由于该参数所设置的只是消息缓冲区的初始化大小,所以造成的影响主要是当每次的消息都很大时,MySQL总是须要多次申请扩展该缓冲区的大小。系统默认大小为16KB,一般来说可以满足大多数场景
max_allowed_packet:在网络传输中,一次消息传输量的最大值
是网络通信缓冲区netbuffer的最大值。当消息传输量大于net_buffer_length的设置时,MySQL会自动增大net buffer的大小,直到缓冲区大小达到max_allowed_packet所设置的值。系统默认值为1MB,最大值是1GB,必须设定为1024的倍数,单位为字节
back_log:在MySQL的连接请求等待队列中允许存放的最大连接请求数
连接请求等待队列,是指当某一时刻客户端的连接请求数量过大,MySQL主线程没办法及时给每一个新的连接请求分配(或创建)连接线程时,未分配连接的请求将被放在一个等待队列中。当系统存在瞬时的大量连接请求时,则应该注意back_log参数的设置。系统默认值为50,最大可以设置为65535。注意,back_log值要小于系统的网络监听设置值