10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.5 kb
手册页(Zip)- 372.6 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

B.3.2.7 MySQL服务器已经过时了

本节还介绍了相关的查询期间与服务器失去连接错误。

最常见的原因MySQL服务器已经消失了错误是服务器超时并关闭连接。在这种情况下,您通常会得到以下错误代码之一(您得到的错误代码取决于操作系统)。

错误代码 描述
CR_SERVER_GONE_ERROR 客户端无法向服务器发送问题。
CR_SERVER_LOST 客户端在向服务器写入时没有得到错误,但它没有得到问题的完整答案(或任何答案)。

默认情况下,如果8小时后没有发生任何事情,服务器将关闭连接。参数可以更改时间限制wait_timeout变量。mysqld.看到章节5.1.8,“服务器系统变量”

如果您有一个脚本,您只需要再次发出查询,以便客户端自动重新连接。这假设您启用了客户机中的自动重连接(这是mysql命令行客户端)。

其他一些常见的原因MySQL服务器已经消失了错误的是:

  • 您(或db管理员)已经使用杀了语句或mysqladmin杀死命令。

  • 您试图在关闭到服务器的连接后运行查询。这表示应用程序中的逻辑错误,应予以纠正。

  • 运行在不同主机上的客户端应用程序没有从该主机连接到MySQL服务器所需的特权。

  • 客户端TCP/IP连接超时。如果你一直在使用以下命令,可能会发生这种情况:mysql_options(…、MYSQL_OPT_READ_TIMEOUT……)mysql_options(…、MYSQL_OPT_WRITE_TIMEOUT……).在这种情况下,增加超时可能有助于解决问题。

  • 您在服务器端遇到超时,并且客户端中的自动重连接被禁用重新连接标志。MYSQL结构等于0)。

  • 您正在使用Windows客户端,而服务器已经断开了连接(可能是因为wait_timeout过期)。

    Windows上的问题是,在某些情况下,MySQL在写入到服务器的TCP/IP连接时不会从操作系统得到错误,而是在试图从连接中读取答案时得到错误。

    这个问题的解决方法是mysql_ping ()如果距离上次查询(这是Connector/ODBC所做的)已经过了很长时间,则在连接上执行wait_timeoutmysqld服务器如此高,它在实践中从来没有超时。

  • 如果向服务器发送不正确或太大的查询,也会得到这些错误。如果mysqld收到一个太大或无序的数据包,它认为客户端出了问题并关闭连接。如果您需要大型查询(例如,如果您正在使用大型查询列),您可以通过设置服务器的列来增加查询限制max_allowed_packet变量,默认值为64MB。您可能还需要增加客户端的最大数据包大小。关于设置数据包大小的更多信息见B.3.2.8节“数据包太大”

    一个插入取代语句插入大量行也会导致这类错误。这些语句中的任何一个都会向服务器发送一个请求,而不管要插入的行数;因此,通常可以通过减少每次发送的行数来避免错误插入取代

  • 如果主机名查找失败(例如,如果您的服务器或网络所依赖的DNS服务器宕机),也可能会看到此错误。这是因为MySQL依赖于主机系统进行名称解析,但没有办法知道它是否正常工作——从MySQL的角度来看,这个问题与任何其他网络超时没有区别。

    你也可以看到MySQL服务器已经消失了启动MySQL时,错误skip_networking系统变量已启用。

    另一个可能导致此错误的网络问题发生在MySQL端口(默认3306)被防火墙阻塞,从而阻止任何到MySQL服务器的连接。

  • 如果应用程序派生了子进程(所有子进程都试图使用到MySQL服务器的相同连接),也可能遇到此错误。可以通过为每个子进程使用单独的连接来避免这种情况。

  • 您遇到了服务器在执行查询时死亡的错误。

可以通过执行命令查看MySQL服务器是否死亡并重新启动mysqladmin版本并检查服务器的正常运行时间。如果客户端连接中断是因为mysqld崩溃后重新启动,您应该集中精力寻找崩溃的原因。首先检查再次发出查询是否会再次杀死服务器。看到B.3.3.3节,“如果MySQL一直崩溃该怎么办”

您可以通过启动获取有关丢失连接的更多信息mysqldlog_error_verbosity系统变量设置为3。中记录一些断开连接的消息hostname.err文件。看到第5.4.2节“错误日志”

如果要创建关于此问题的错误报告,请确保包含以下信息:

另请参阅B.3.2.9节“通信错误和中断连接”,第1.6节,“如何报告错误或问题”