MySQL 9.0 发行说明
此错误消息可能由三种原因引起。
通常,这表示网络连接问题,如果此错误频繁出现,您应该检查您的网络状况。如果错误消息中包含 “在查询期间”,则您可能遇到这种情况。
有时 “在查询期间” 形式出现在将数百万行作为一到多个查询的一部分发送时。如果您知道正在发生这种情况,您应该尝试将 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
.