如果Wordpress网站无法建立与MySQL或Mariadb之间的数据库连接,可能有多种原因。您可以按照本文介绍的方法逐一进行排查,希望能够帮助您解决问题:
检查WordPress配置文件
检查WordPress配置文件(wp-config.php)中的数据库凭据,确保它们与数据库设置匹配。如下面的示例所示,请确保数据库名称、用户名、密码和主机等信息正确。
示例:
<?php
/**
* 这是WordPress配置文件。它包含了以下设置:
*
* * MySQL设置
* * Secret keys
* * WordPress表前缀
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'your_mysql_username');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'your_mysql_password');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
// 设置WordPress用于cookie和安全密钥的唯一密钥和盐。
// 您可以访问api.wordpress.org/
检查MySQL运行状态
通过运行以下命令,检查MySQL服务是否正在运行:
sudo systemctl status mariadb
如果它没有运行,请使用以下命令启动它:
sudo systemctl start mariadb
授予用户访问数据库权限
确保WordPress数据库用户具有访问数据库所需的必要权限。您可以使用以下命令向用户授予特权:
sudo mysql -u root -pGRANT ALL PRIVILEGES ON wordpress.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_password';
将“your_user”和“your_password”替换为自己的用户名和密码。
防火墙阻止MySQL
检查防火墙是否阻止数据库连接。您可以暂时禁用防火墙以查看它是否是问题的根源。
sudo ufw disable
然后尝试重新连接到您的数据库。如果它可以工作,则启用防火墙并使用以下命令允许访问数据库端口:
sudo ufw allow mysql
然后重新启用防火墙:
sudo ufw enable
检查日志以查看是否有错误。您可以在“/var/log/mysql/error.log”或“/var/log/mariadb/mariadb.log”中找到日志。
我希望这些建议可以帮助您解决问题。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/mysql/how-to-repair-the-wordpress-database/