要修改 WordPress 连接 MySQL 的数据库端口,只需更改 wp-config.php 文件中的 DB_PORT 常量即可。以下是具体步骤:
1. 确认当前配置
默认情况下,WordPress 使用 MySQL 的默认端口 3306(或 MariaDB 的相同端口),因此大多数网站不会显式定义 DB_PORT。如果未设置,WordPress 会自动使用默认值。
2. 编辑 wp-config.php
- 通过 FTP、SFTP 或主机控制面板(如 cPanel、Plesk)访问网站根目录。
- 找到并打开
wp-config.php文件(通常位于/public_html/或/www/目录下)。 - 在以下行附近添加或修改
DB_PORT:
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_database_user');
define('DB_PASSWORD', 'your_database_password');
define('DB_HOST', 'your_host:port'); // 可选:旧写法,不推荐用于自定义端口
// 推荐方式:单独定义 DB_PORT
define('DB_PORT', '3307'); // 替换为你的实际 MySQL 端口号
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
✅ 重要提示:
- 不要将端口写在
DB_HOST中(如'localhost:3307'),虽然某些 PHP 版本可能支持,但官方文档明确推荐使用DB_PORT常量。- 确保端口号是数字(字符串形式也可,但建议用整数),且与你的 MySQL 服务器监听端口一致。
3. 验证 MySQL 服务是否监听新端口
登录到服务器,检查 MySQL 是否确实在指定端口运行:
# Linux/macOS
netstat -tlnp | grep mysql
# 或
ss -tlnp | grep mysql
输出应包含类似 0.0.0.0:3307 或 127.0.0.1:3307。
若未监听该端口,需修改 MySQL 配置文件(如 /etc/mysql/my.cnf 或 /etc/my.cnf.d/server.cnf)中的 port 参数,并重启 MySQL 服务:
[mysqld]
port = 3307
然后执行:
sudo systemctl restart mysql # Debian/Ubuntu
# 或
sudo systemctl restart mysqld # CentOS/RHEL
4. 测试连接
访问 WordPress 后台,若出现“无法连接到数据库”错误,请检查:
- 防火墙是否允许该端口(如
ufw allow 3307/tcp) - 用户权限是否允许从远程主机连接(若
DB_HOST不是localhost) - 日志文件(MySQL 错误日志 +
error_login WordPress)
5. 安全建议
- 避免使用默认端口以增强安全性(Security through obscurity,虽非真正安全,但可减少自动化攻击)。
- 确保 MySQL 用户仅授权必要权限。
- 若使用云服务商(如 AWS RDS、阿里云 RDS),需在控制台中确认实例端口,并在安全组中开放对应端口。
完成以上步骤后,WordPress 将使用新的 MySQL 端口进行连接。如有问题,可提供具体错误信息进一步分析。
云小栈