error-lost-connection.md 1.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
#### B.3.2.3 与 MySQL 服务器的连接丢失

[](<>)[](<>)[](<>)

此错误消息有三个可能的原因。

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

有时,当作为一个或多个查询的一部分发送数百万行时,会出现“查询期间”形式。如果您知道这种情况正在发生,您应该尝试增加[`net_read_timeout`](server-system-variables.html#sysvar_net_read_timeout)从默认的 30 秒到 60 秒或更长,足以完成数据传输。

更罕见的是,当客户端尝试与服务器建立初始连接时,可能会发生这种情况。在这种情况下,如果您的[`连接超时`](server-system-variables.html#sysvar_connect_timeout)值设置为仅几秒钟,您可以通过将其增加到 10 秒来解决问题,如果您的距离很长或连接速度较慢,可能会更多。您可以通过使用来确定您是否遇到这种更不常见的原因`显示全局状态,如“Aborted_connects”`.对于服务器中止的每次初始连接尝试,它都会增加一。您可能会在错误消息中看到“读取授权数据包”;如果是这样,那也表明这是您需要的解决方案。

如果原因不是刚刚描述的那些,您可能遇到了问题[`斑点`](blob.html)大于的值[`max_allowed_pa​​cket`](server-system-variables.html#sysvar_max_allowed_packet),这可能会导致某些客户端出现此错误。有时你可能会看到一个[`ER_NET_PACKET_TOO_LARGE`](https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html#error_er_net_packet_too_large)错误,这确认您需要增加[`max_allowed_pa​​cket`](server-system-variables.html#sysvar_max_allowed_packet).