甲骨文云 VPS 部署 WordPress 网站提示数据库连接错误怎么查?

文章导读
甲骨文云 VPS 出现 WordPress 数据库连接错误,通常由 wp-config.php 配置信息错误、MySQL 服务未运行或云平台安全策略拦截导致。优先检查数据库配置文件凭证,再确认服务状态与网络端口放行情况。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

甲骨文云 VPS 出现 WordPress 数据库连接错误,通常由 wp-config.php 配置信息错误、MySQL 服务未运行或云平台安全策略拦截导致。优先检查数据库配置文件凭证,再确认服务状态与网络端口放行情况。

先说结论:大部分连接错误源于配置文件凭证 mismatch 或数据库服务未启动,少数情况涉及甲骨文云安全列表规则未放行。

  • 先确认 wp-config.php 中的数据库名、用户名、密码及主机地址是否准确。
  • 先处理 MySQL/MariaDB 服务状态及甲骨文云控制台安全列表规则。
  • 再验证网站前台能否正常加载及错误日志是否不再新增连接报错。

命令速用版

以下命令用于快速检查数据库服务状态及配置文件关键参数,需在 VPS 终端通过 SSH 执行。

systemctl status mysql
# 或
systemctl status mariadb
grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" /var/www/html/wp-config.php

若需测试数据库端口连通性,可使用以下命令(需安装 telnet 或 nc):

nc -zv 127.0.0.1 3306

为什么会这样

WordPress 连接数据库失败主要因为应用层配置、服务层运行状态或网络层访问控制三者之一出现异常。

应用层方面,wp-config.php 文件中记录的数据库凭证与实际创建的不一致,或者数据库主机地址填写错误(如本地应填 localhost 或 127.0.0.1)。服务层方面,MySQL 进程崩溃、未开机自启或资源耗尽导致无法响应请求。网络层方面,甲骨文云控制台的安全列表(Security List)未放行 3306 端口,或操作系统内部防火墙(如 firewalld、ufw)拦截了本地回环或外部访问。

分步处理

按顺序执行以下检查,每步确认无误后再进行下一步。

甲骨文云 VPS 部署 WordPress 网站提示数据库连接错误怎么查?

步骤 1:核对 wp-config.php 配置

使用编辑器打开网站根目录下的 wp-config.php 文件,检查 DB_NAME、DB_USER、DB_PASSWORD 是否与数据库实际信息一致。DB_HOST 通常为 localhost,若使用独立数据库服务器则填写对应 IP。

步骤 2:检查数据库服务状态

在终端执行 systemctl status mysqlsystemctl status mariadb。若显示 inactive 或 failed,执行 systemctl start mysql 启动服务,并使用 systemctl enable mysql 设置开机自启。

步骤 3:检查甲骨文云安全列表

登录甲骨文云控制台,进入实例详情页,点击子网链接进入安全列表。确认入站规则(Ingress Rules)是否允许 TCP 协议访问 3306 端口(若数据库需外部访问)或确保本地回环不受限。WordPress 通常只需 Web 服务器访问数据库,若数据库与 Web 在同一台 VPS,主要检查本地防火墙。

步骤 4:检查操作系统防火墙

甲骨文云 VPS 部署 WordPress 网站提示数据库连接错误怎么查?

执行 sudo ufw statussudo firewall-cmd `--state` 查看防火墙状态。若防火墙开启,需确保 3306 端口对本地开放,或暂时关闭防火墙测试是否为拦截导致。

怎么验证是否生效

刷新 WordPress 网站前台页面,若不再显示“建立数据库连接时出错”提示且能正常显示内容,则问题已解决。

查看 Web 服务器错误日志(如 /var/log/nginx/error.log 或 /var/log/apache2/error.log)及 WordPress 调试日志(若开启 WP_DEBUG),确认不再新增数据库连接拒绝相关的报错信息。

常见坑

  • localhost 解析问题:某些环境下 localhost 可能解析为 IPv6 地址 ::1,而 MySQL 默认监听 IPv4,建议尝试将 DB_HOST 改为 127.0.0.1。
  • 免费层资源限制:甲骨文云免费实例内存较小,若未配置 Swap,MySQL 可能因 OOM 被系统杀死,需检查系统日志 /var/log/syslog 确认是否有 OOM Killer 记录。
  • Socket 路径不一致:PHP 连接 MySQL 时使用的 socket 文件路径可能与 MySQL 配置不一致,需在 php.ini 或 wp-config.php 中指定正确的 socket 路径。

常见问题

提示“建立数据库连接时出错”和“选中数据库时出错”有什么区别?

前者表示无法连接到 MySQL 服务,通常是密码错误、服务未启动或网络不通;后者表示已连接服务但无法访问指定数据库名,通常是数据库不存在或用户权限不足。

网站显示白屏但后台能登录怎么办?

这通常不是数据库连接错误,而是 PHP 代码错误或主题插件冲突。建议开启 WP_DEBUG 模式查看具体报错信息,或暂时禁用所有插件排查。

甲骨文云重启实例后数据库连不上了怎么办?

检查 MySQL 服务是否设置为开机自启,若未设置需执行 systemctl enable mysql。同时检查实例公网 IP 是否变化导致配置文件中的主机地址失效(若使用 IP 连接)。

参考来源

  • WordPress 官方文档 - 编辑 wp-config.php 文件 (https://wordpress.org/support/article/editing-wp-config-php/)
  • Oracle Cloud Infrastructure 文档 - 管理安全列表 (https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/securitylists.htm)