当 MySQL 运行在非标准端口(例如不是默认的 3306)时,WordPress 需要在 wp-config.php 中显式指定该端口。具体配置方式如下:
1. 找到 WordPress 配置文件
打开你的 WordPress 根目录下的 wp-config.php 文件(通常位于网站根目录,如 /var/www/html/wp-config.php)。
2. 修改数据库主机设置
找到以下行(通常在文件开头部分):
define( 'DB_HOST', 'localhost' );
将其修改为包含端口号的格式:主机地址:端口号,例如:
define( 'DB_HOST', 'localhost:3307' );
或如果 MySQL 不在本地机器上:
define( 'DB_HOST', 'db.example.com:3308' );
✅ 注意:端口号前用冒号
:连接,且不要加空格。
3. 保存并测试
保存 wp-config.php 后,访问你的 WordPress 站点。如果配置正确,站点应能正常加载;若出现“无法连接到数据库”错误,请检查:
- MySQL 是否确实监听该非标准端口(可用
netstat -tuln | grep <端口>验证) - 防火墙是否允许该端口通信
- 用户权限是否覆盖该 IP/主机名
补充说明
- 此方法适用于所有主流操作系统和 PHP 环境。
- 无需修改 MySQL 配置文件(如
my.cnf),只需在 WordPress 端指定即可。 - 如果通过 Docker 部署,确保容器间网络端口映射正确,并在
DB_HOST中使用服务名 + 端口(如mysql-service:3309)。
如有其他部署场景(如云数据库、Docker Compose 等),可进一步提供细节以便给出针对性建议。
云小栈