不得不对WordPress数据库进行故障排除和修复是我们许多人在某个时候都会遇到的事情。
如果您看到一条错误消息,告诉您无法连接到数据库或者某些文件已损坏,那么很有可能是您的WordPress数据库出现问题。
但是如何修复WordPress数据库呢?
在本文中,我们将向您展示如何诊断WordPress数据库的问题以及如何修复它们。您还将学习如何防止您的WordPress数据库问题在未来再次发生。
如何知道WordPress数据库是否需要修复
作为WordPress用户,您可能会遇到一些WordPress错误。运行一个网站而不偶尔遇到问题几乎是不可能的。但是你怎么知道是数据库的问题呢?
以下是一些线索,可以告诉您您的数据库有问题:
- 您会看到“建立数据库连接时出错”错误消息。
- 您的网站上缺少图片。
- 您的网站缺少内容。
- 您看到“无需升级,您的WordPress数据库已经是最新的了”错误。
“建立数据库连接错误消息”可能是您在WordPress网站上看到的最常见的错误消息之一。当代码出现问题时,这几乎和所谓的死亡白屏一样可怕。
建立数据库连接时出错
不过,修复它可能非常简单。
在我们讨论解决问题可能需要的各种方法之前,让我们先看看数据库问题的原因。
需要修复数据库的6个常见原因
以下是数据库问题的一些最常见原因。对于某些情况,您会看到特定的警告消息。对于其他人,您将获得通用的建立数据库连接消息。
让我们来看看最常见的场景,然后看看如何修复您的WordPress数据库。
1. 不正确的数据库凭据
这可能是WordPress数据库连接问题的最常见原因,幸运的是,它最容易修复。
如果您不想自己编辑代码,您只需要对wp-config.php文件进行简单的修改或使用插件进行修复。
2. 连接问题
无法访问数据库的原因之一是连接到服务器的问题。如果您使用的是廉价主机,您可能会发现您的服务器很慢或没有响应。一个好的托管服务提供商将为您提供正常运行时间保证,这意味着这不应该是您问题的原因。
但是值得与您的托管服务提供商核实服务器上是否存在任何问题。
3. 超出PHP内存限制
这是一个错误,根据我的经验,当您将媒体上传到您的网站时,这种错误最常出现。
这意味着您已经超出了为您的站点设置的内存限制。修复它需要编辑一些代码、通过您的托管服务提供商更改一些设置或使用插件。
4. 损坏的数据库表
如果您的数据库表已损坏,则需要清理数据库。如果您的凭据正确,连接没有问题,并且您没有超出PHP内存限制,那么下一个最有可能的罪魁祸首是数据库损坏。
您可以在phpMyAdmin中修复损坏的数据库表。
5.损坏的文件
如果WordPress安装中的文件已损坏,这可能会导致数据库出现问题。这可能是由于文件已损坏的插件存在问题,或者是您的开发人员之一进行了编辑。
我们很快就会看看您可以使用哪些选项来修复损坏的文件。
6. 你的网站或数据库被黑了
我们特意把这个留到最后,因为它最有可能吓到您:您的WordPress网站或数据库可能已被黑客入侵。但是,如果您的数据库由于黑客攻击而出现问题,修复它并不像您想象的那么困难。
您可以从托管公司获得帮助,也可以自行修复。
现在,是时候开始修复一些数据库了!
如何修复WordPress数据库
既然您现在知道数据库问题的常见原因,您就会问这个问题:如何修复我的WordPress数据库?
您需要采取的具体步骤取决于问题的性质。让我们先完成最简单的步骤,因为它们将解决最常见的问题。
如果您已经确定您的数据库遇到了更严重的问题,请跳至本节的相关部分。
从备份开始
无论您将采取何种步骤来修复您的数据库,您都应该始终从备份您的站点开始。
使用备份插件或转到您的托管服务提供商界面并在那里进行手动备份。使用宝塔面板的站长们可以使用备份计划进行数据备份,但您也可以根据需要进行手动备份或增加频率。
如何使用数据库日志文件诊断WordPress数据库错误
第一步是查看错误日志并确定问题所在,你可以通过在wp-config.php中启用错误日志。
日志会告诉您网站上发生了什么以及发生了哪些错误。您可以使用这些来诊断数据库连接问题。
完成后,请使用下面的相关修复程序。或者,如果您不能这样做,请按顺序完成这些修复,因为它们从最简单和最常见的开始。
如何编辑您的WordPress数据库凭据
建立数据库连接出错的最常见原因是不正确的数据库凭据。
要编辑您的数据库凭据,请备份您的wp-config.php文件,然后打开原始文件。备份是必不可少的,以防你犯了一个让事情变得更糟的错误。
您将在WordPress安装的根目录中找到wp-config.php文件。要访问它,您需要通过SFTP连接到您的站点。
如果您的站点要正确连接到您的数据库,该文件包含需要正确的四条信息。这些是:
- 数据库名称。
- MySQL数据库用户名。
- MySQL数据库密码。
- MySQL主机名。
在您的wp-config.php文件中,这四项信息将如下所示:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'xxxxxx'); /** MySQL database username */ define('DB_USER', 'xxxxxx'); /** MySQL database password */ define('DB_PASSWORD', 'xxxxxx'); /** MySQL hostname */ define('DB_HOST', 'xxxxxx');
要找到正确的数据库凭据,您需要通过您的托管服务提供商检查您的管理屏幕,或者找到您在设置托管帐户时最初收到的电子邮件。
您还可以在phpMyAdmin中找到您的数据库凭据,如果这是您从托管服务提供商处获得的界面,您可以通过cPanel访问该凭据。
一旦您正确更新了数据库凭据,请保存您的“新”wp-config.php文件,将其关闭,然后再次尝试访问您的站点。
如果您仍然无法访问数据库,请继续阅读以获取更多解决方案。
如何使用WP_ALLOW_REPAIR修复WordPress数据库
下一个选项是指示WordPress修复您的数据库的任何问题。您可以通过在wp-config.php文件中添加一行来完成此操作。
打开文件,找到这一行:
/* That's all, stop editing! Happy blogging. */
在该行正上方添加此行:
define (‘WP_ALLOW_REPAIR’, ‘true’);
现在,保存您的wp-config.php文件并关闭它。
同样,请确保首先创建wp-config.php文件的备份副本,以防万一。
下一步是访问数据库修复页面。您可以在http://your-site.com/wp-admin/maint/repair.php找到它。将your-site.com替换为您网站的域名。
这将带您进入数据库修复页面:
数据库修复页面
您在这里有两个选择:
- 修复数据库(Repair the database)
- 修复和优化数据库(Repair and optimize the database)
如果您也选择对其进行优化,WordPress将遍历您的数据库表并对其进行优化,以使您的站点运行更高效。
单击您想要的两个按钮中的任何一个,然后等待WordPress修复您的数据库。现在,您的网站应该可以正常工作了。
完成后,不要忘记删除刚刚添加到wp-config.php文件的行。
但是,如果这也不起作用怎么办?下一步是转到phpMyAdmin并尝试在那里修复您的数据库。
如何在phpMyAdmin中修复WordPress数据库
所以你已经尝试了上面的选项,但你的数据库仍然没有连接。让我们尝试通过phpMyAdmin修复它。
您不习惯直接访问您的数据库,您可能更喜欢为此使用插件。本文稍后列出了一些可用于修复WordPress数据库的插件。
您可以通过托管服务提供商的管理屏幕访问phpMyAdmin。在宝塔面板中,您可以通过数据库管理,选择需要修复数据库的站点,然后单击管理链接来访问它。
在宝塔面板中访问phpMyAdmin
登录phpMyAdmin后,从左侧的数据库列表中单击需要修复的数据库。数据库中的表将在右侧加载:
phpMyAdmin中的数据库表
向下滚动并勾选“Check All ”选项。然后,在“With selected”框中,选择“Repair table”。
在phpMyAdmin中修复数据库
然后系统将处理您的数据库表并进行修复。
但是,如果这些选项之一不起作用或者您想以不同的方式访问您的站点怎么办?让我们尝试另一种方法。
如何通过WP-CLI修复WordPress数据库
如果您使用命令行访问WordPress安装,则可以使用WP-CLI修复数据库。
为此,请使用wp db repair命令。这可能是修复数据库的最快方法。
如何增加PHP内存限制
如果由于超出PHP内存限制而在访问数据库时遇到问题,您可以采取措施增加此限制。
在wp-config.php文件中,找到这一行:
define( 'WP_MEMORY_LIMIT', 256M' );
256M这个数值与您可以使用的内存量有关。如果它是一个较低的数字,请编辑它以使其更高。256M通常足以用于WordPress站点。请注意,您文件中的数字可能不同,因为它代表您站点的当前内存限制。您也可能根本找不到这条线。
注:如果您的托管计划不允许您访问更多内存,则可能需要升级您的计划才能实现这一点。或者您可能更愿意切换到为您提供更多内存的提供商。
如何使用数据库修复插件修复WordPress数据库
如果您不习惯使用上述任何选项修复数据库,您可以使用数据库插件来修复它。这仅在您对您的网站具有管理员访问权限时才有效。
可让您修复数据库的插件包括:
- WP-DBManager
- Advanced Database Cleaner
- WP Config File Editor, 它允许您对wp-config.php文件进行编辑,而无需直接访问它。
如何优化您的WordPress数据库
一旦您修复了数据库问题(或在它首先开发它们之前),最好采取措施避免将来出现问题。这里有一些提示,可帮助您管理WordPress数据库并保护它免受未来问题的影响。
数据库优化插件
如果您的托管服务提供商没有为您优化数据库,您可以使用插件来解决这个问题。执行此操作的插件包括:
- WP-Optimize
- Advanced Database Cleaner
- WP-DBManager
将MySQL索引添加到wp_options表
将MySQL index添加到wp_options表(或从该表中删除它)可以加快数据库连接。使用本指南中的提示来确定哪个选项可以使您的网站运行得更快。
数据库管理和安全良好实践
管理数据库的良好做法类似于良好的WordPress网站管理:
- 保持定期备份。如果您需要再次修复您的数据库,知道您有定期的自动备份将使您更轻松并让您安心。使用备份插件,或者,如果您使用宝塔面板,您可以设置定时备份计划,无需动动手指。
- 确保您的数据库始终得到优化并确保其顺利运行。通过数据库优化插件或选择为您处理此问题的托管服务提供商来执行此操作。
- 除非您信任收件人,否则切勿泄露您的数据库密码。需要数据库密码才能在站点上工作是不常见的,因此如果您被要求提供密码,请询问原因。
- 如果其他人有权访问您的数据库,请在他们完成工作后更改凭据,然后更新wp-config.php文件。
- 只为您的WordPress管理员、您的主机帐户和您的FTP/SFTP访问使用安全密码。在公共连接上时优先使用SFTP而不是FTP。
- 如果您编写了一个向数据库添加表或记录的插件,请确保在删除插件时删除它们。
- 采取措施确保您的网站安全并保护其免受黑客攻击。
小结
连接到 WordPress 数据库时出现问题令人头疼,而且可能令人生畏。但是,如果您按照上述步骤操作,您应该能够修复它并快速再次访问。
确保您遵循指南以防止将来发生数据库问题,希望您不必再次修复数据库。