Documentation Home

B.3.2.3 失去与 MySQL 服务器的连接

出现此错误消息的可能原因有以下三种。

通常它表示网络连接有问题,如果经常出现此错误,您应该检查您的网络状况。如果错误消息包括查询期间 ,这可能就是您遇到的情况。

有时,当数百万行作为一个或多个查询的一部分发送时,会出现查询期间”形式。如果您知道发生这种情况,您应该尝试将net_read_timeout 其默认值 30 秒增加到 60 秒或更长,足以完成数据传输。

更罕见的情况是,当客户端尝试与服务器建立初始连接时,可能会发生这种情况。在这种情况下,如果您的 connect_timeout值设置为仅几秒,您可以通过将其增加到十秒来解决问题,如果您的距离很远或连接速度很慢,则可能需要更长的时间。您可以使用 来确定您是否遇到了这种更不常见的原因 SHOW GLOBAL STATUS LIKE 'Aborted_connects'。对于服务器中止的每个初始连接尝试,它都会增加 1。您可能会看到读取授权数据包作为错误消息的一部分;如果是这样,那也表明这是您需要的解决方案。

如果原因不是刚才描述的任何一个,您可能会遇到 BLOB大于 的值的问题max_allowed_packet,这可能会导致某些客户端出现此错误。有时您可能会看到一个ER_NET_PACKET_TOO_LARGE 错误,这表明您需要增加 max_allowed_packet.