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