Mysql服务器消失但在清除浏览器缓存时解决了

时间:2015-01-27 06:56:13

标签: magento

http://www.veenas.com/beta

我有时候mysql服务消失了但是如果我清除了浏览器缓存然后问题解决了。我无法弄明白为什么?

请参阅此链接上的错误图片http://veenas.com/beta/error.jpg

1 个答案:

答案 0 :(得分:0)

来自MySQL doc:

  

MySQL服务器消失的最常见原因是服务器超时并关闭了连接。

     

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

     

您(或数据库管理员)已使用a杀死正在运行的线程   KILL语句或mysqladmin kill命令。

     

您尝试在关闭与服务器的连接后运行查询。   这表示应用程序中应存在逻辑错误   校正。

     

在不同主机上运行的客户端应用程序没有   从该主机连接到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 5.0.19之前,即使是MYSQL中的重新连接标志   结构等于1,MySQL不会自动重新连接   重新发出查询,因为它不知道服务器是否确实得到了   原始查询与否。

     

解决方法是在连接上执行mysql_ping()   如果自上次查询以来已经有很长时间了(这是什么   Connector / ODBC确实)或者在mysqld服务器上设置wait_timeout这么高   它在实践中永远不会超时。

     

如果向服务器发送查询,也可能会收到这些错误   不正确或太大。如果mysqld收到的数据包也是如此   大或有故障,它假设出现了问题   客户端并关闭连接。如果你需要大问题(for   例如,如果您正在使用大型BLOB列,则可以增加   通过设置服务器的max_allowed_pa​​cket变量来查询限制,   其默认值为1MB。你可能还需要增加   客户端的最大数据包大小。有关设置的更多信息   数据包大小在第B.5.2.10节“数据包太大”中给出。

     

插入很多行的INSERT或REPLACE语句也可以   导致这些错误。这些语句中的任何一个都发送一个   对服务器的单个请求,不管行数   插入;因此,您通常可以通过减少数量来避免错误   每个INSERT或REPLACE发送的行数。

     

如果您要发送16MB或更小的数据包,也会丢失连接   如果您的客户端早于4.0.8并且您的服务器是4.0.8和更高,则更大   上面,或者反过来。

     

如果主机名查找失败,也可能会看到此错误(for   例如,如果您的服务器或网络所依赖的DNS服务器   下)。这是因为MySQL依赖于主机系统的名称   解决方案,但无法知道它是否起作用   从MySQL的角度来看,问题与其他问题无法区分   网络超时。

     

如果是MySQL,你可能还会看到MySQL服务器已经消失了   以--skip-networking选项开始。

     

如果是MySQL,可能会导致此错误的另一个网络问题   端口(默认为3306)被防火墙阻止,从而阻止任何端口   完全连接到MySQL服务器。

     

您也可以使用fork子应用程序遇到此错误   进程,所有这些进程都尝试使用与MySQL相同的连接   服务器。这可以通过为每个使用单独的连接来避免   儿童过程。

     

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

     

您可以通过执行来检查MySQL服务器是否已死亡并重新启动   mysqladmin版本并检查服务器的正常运行时间。如果是客户   连接被破坏是因为mysqld崩溃并重新启动,你应该   专注于找到崩溃的原因。首先检查   是否再次发出查询会再次杀死服务器。见章节   B.5.4.2,“如果MySQL不断崩溃该怎么办”。

     

您可以通过启动获取有关丢失连接的更多信息   带有--log-warnings = 2选项的mysqld。这记录了一些   hostname.err文件中的已断开连接的错误。请参见第5.2.1节“   错误记录“。

     

如果您想创建有关此问题的错误报告,请务必确定   您包含以下信息:

     

表明MySQL服务器是否已经死亡。你可以找到有关的信息   这在服务器错误日志中。参见第B.5.4.2节“如果要做什么   MySQL继续崩溃“。

     

如果特定查询杀死了mysqld,则检查所涉及的表   在运行查询之前使用CHECK TABLE,可以提供一个   可重复的测试用例?请参见第21.3节“调试和移植”   MySQL的”。

     

MySQL中wait_timeout系统变量的值是多少   服务器? (mysqladmin变量为您提供此变量的值。)

     

您是否尝试在启用常规查询日志的情况下运行mysqld   确定问题查询是否出现在日志中? (见章节   5.2.2,“一般查询日志”。)

http://dev.mysql.com/doc/refman/5.0/en/gone-away.html