与MySQL服务器的连接断开
此错误信息的三个可能原因。
通常,它表明网络连接有问题,如果此错误频繁发生,则应检查网络状况。如果错误消息包含“查询期间”,则可能是您遇到的情况。
有时,当作为一个或多个查询的一部分发送数百万行时,会发生“查询期间”形式。如果您知道这种情况正在发生,则应尝试将net_read_timeout
其默认值从30秒增加到60秒或更长时间,足以完成数据传输。
很少会在客户端尝试与服务器建立初始连接时发生。在这种情况下,如果您将connect_timeout
值设置为仅几秒钟,则可以将其增加到十秒钟来解决问题,如果距离很长或连接速度很慢,则可能会更多。您可以使用来确定您是否遇到了这种不常见的原因SHOW GLOBAL STATUS LIKE 'Aborted_connects'
。对于服务器中止的每次初始连接尝试,它将增加一。您可能会在错误消息中看到“读取授权包”;如果是这样,则也表明这是您需要的解决方案。
如果原因不是上述原因中的任何一个,则您可能遇到BLOB
值大于的问题max_allowed_packet
,这可能导致某些客户端出现此错误。有时您可能会看到ER_NET_PACKET_TOO_LARGE
错误,并确认您需要增加max_allowed_packet
。