数据库是大多数现代网站的关键组成部分,因此影响您的网站的错误往往特别令人担忧。例如,“MySQL server has go away”错误可能会让您认为您的数据库丢失了。这意味着您可能必须使用最新的备份来启动和运行您的站点。
尽管听起来很吓人,但“MySQL server has go away”错误很容易修复。事实上,按照正确的说明,您的网站应该会在几分钟内备份并运行。
在本文中,我们将向您展示“MySQL server has go away”错误的示例,并分析WordPress中可能导致该错误的原因。然后我们将教您如何修复它并防止将来再次出现此错误。
“MySQL Server Has Gone Away”错误介绍
首先,让我们快速看一下“MySQL server has go away”错误是什么样的:
浏览器显示“MySQL server has go away”错误
错误本身非常简单,而且几乎总是以相同的方式出现。但是,根据您使用的浏览器和服务器的配置,具体的措辞可能会有所变化。
至于错误本身,正如您从名称中想象的那样,它与您的MySQL数据库有关。更具体地说,在大多数网站上,以下三种情况之一通常会导致此错误:
- 数据库中有一个损坏的表。您的数据库已损坏,因此您需要恢复到最近的备份或修复它。
- PHP的’timeout’设置太低。如果 PHP 脚本需要访问您的数据库并且无法在设置的超时窗口内获取信息,这也可能触发上述错误。
- 数据包要么被丢弃,要么太大。服务器认为是这种情况,它基本上关闭了连接并抛出错误。
幸运的是,所有这些问题都可以轻松解决。让我们谈谈如何开始故障排除过程。
如何修复“MySQL Server Has Gone Away”错误
正如我们所见,这个特定的WordPress错误有几个潜在的原因。
因此,有不同的可能解决方案。在大多数情况下,以下修复程序之一应该可以消除您网站上的错误。因此,如果一个不起作用,您可以简单地转到下一个。
1. 编辑WordPress的wp-db.php文件
如果您网站的PHP超时设置太低且您的数据库太大,则在该窗口期间获取您需要的数据可能是一个问题。正如我们之前提到的,这会触发“MySQL Server Has Gone Away”错误。
为了防止这种情况发生,您需要编辑一个名为wp-db.php 的WordPress 核心文件。通过打开wp-includes目录,您可以在WordPress根文件夹中找到此文件:
wp-db.php文件
要访问这些文件,我们建议您使用FileZilla等FTP客户端并通过SFTP连接。连接到站点后,找到wp-db.php,然后右键单击它以使用默认的本地文本编辑器打开文件。
然后,在文件中搜索以下行:
$this->ready = true;
在该代码正下方添加以下行:
$this->query("set session wait_timeout=300");
这段代码的作用是将您的PHP超时值设置为300秒,这应该比防止出现任何错误所需的时间多得多。
现在将更改保存到您的wp-db.php文件并确保您的网站按预期加载。
2. 修复您的WordPress数据库
有时,您的WordPress数据库可能会损坏,这反过来又会在您尝试与其建立连接时导致错误。这并不常见,但在正常网站的发展过程中,当您向数据库中添加更多表(以及插件和主题信息)时,可能会发生这种情况。
要解决此问题,您可以使用内置的WordPress功能来修复您的数据库。但是,首先,您必须启用该功能。这涉及导航到您的WordPress根目录并打开wp-config.php文件以对其进行编辑。
打开文件后,滚动到底部并向其添加以下行:
define('WP_ALLOW_REPAIR', true);
这行简单的代码告诉WordPress启用数据库修复功能。将更改保存到wp-config.php,然后关闭文件。要运行该函数,只需访问以下URL:
https://yourwebsite.com/wp-admin/maint/repair.php
然后WordPress会询问您是要简单地修复数据库还是修复和优化它。第一个选项是修复“MySQL Server Has Gone Away”错误所需的全部内容:
WordPress中的修复数据库选项
这个过程应该不会花很长时间,当它完成时,有问题的错误应该消失了。但是,您仍有一些清理工作要做,因为您需要禁用网站上的数据库修复功能。如果不这样做,任何人都可以通过访问相同的URL来触发它。
因此,在结束之前,请返回到您的WordPress根目录并删除您之前添加的代码行。然后保存对文件的更改并关闭它。
3. 通过您的托管服务提供商使用备份恢复您的网站
如果所有其他方法都失败了,您始终可以使用网站的完整备份将其恢复到数据库正常工作时的状态。理想情况下,您将使用最近的备份执行此操作,以便尽可能少地丢失数据。
问题是并非所有WordPress网络主机都为其用户提供内置备份功能。这意味着您经常无法使用插件等手动解决方案。这些工具不一定是坏的,但是如果您无权访问WordPress管理区域,那么恢复备份就变成了一项艰巨的任务。
但请记住:使用此功能将覆盖您网站的当前版本。因此,当您确定不会丢失任何关键信息时,您只会希望将其用作最后的手段。
小结
您的网站增长得越多,它需要存储的数据就越多。所有这些信息都会进入您的WordPress数据库。在某些情况下,如果它变得太大,您可能会遇到诸如“MySQL Server Has Gone Away”之类的错误。
如果您遇到此特定错误,您可以通过以下三种方法摆脱它:
- 编辑WordPress的wp-db.php文件。
- 修复您的WordPress数据库。
- 通过您的托管服务提供商使用备份来恢复您的网站。
现在您知道如何修复,是时候真正摆脱这个烦人的错误消息了。如果您仍然遇到 MySQL 问题,您可能需要查看如何修复MySQL 1064错误。