在 WordPress 中,数据库端口配置并不是直接在 WordPress 的图形界面中设置的,而是通过配置文件 wp-config.php 来指定。WordPress 默认连接 MySQL 数据库的端口是 3306,但如果你的数据库使用了非默认端口(比如 3307、13306 等),你需要手动修改配置。
✅ 配置方法:修改 wp-config.php
找到你的 WordPress 安装根目录下的 wp-config.php 文件,编辑它,找到如下代码:
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_database_user');
define('DB_PASSWORD', 'your_database_password');
define('DB_HOST', 'localhost');
其中关键的是 DB_HOST 这一项。要指定端口,你可以在主机地址后加上冒号和端口号。
示例:使用端口 3307
define('DB_HOST', 'localhost:3307');
或者如果使用 IP 地址:
define('DB_HOST', '127.0.0.1:3307');
⚠️ 注意:
- 不要写成
localhost:3306如果你使用的是默认端口(3306),因为某些系统可能会因此解析失败。对于默认端口,建议只写localhost。- 使用
127.0.0.1会强制使用 TCP/IP 连接,而localhost可能使用 Unix socket(尤其在 Linux 上)。如果你指定端口,最好用127.0.0.1避免混淆。
推荐写法(带自定义端口):
define('DB_HOST', '127.0.0.1:3307');
🔍 如何确认数据库端口?
你可以通过以下方式查看 MySQL 实际监听的端口:
- Linux/Mac 命令行:
sudo netstat -tulnp | grep mysql
# 或者
mysql -u root -p -e "SHOW VARIABLES WHERE Variable_name = 'port';"
输出示例:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3307 |
+---------------+-------+
🛠 常见问题
-
连接超时或拒绝?
- 检查数据库服务是否运行:
systemctl status mysql - 检查防火墙是否放行该端口
- 检查 MySQL 是否允许远程连接(如适用)
- 检查数据库服务是否运行:
-
能否使用 Socket 文件代替端口?
- 可以,例如:
define('DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock'); - 但这通常不需要显式配置,除非特殊环境。
- 可以,例如:
✅ 总结
| 项目 | 配置方式 |
|---|---|
| 默认端口 | define('DB_HOST', 'localhost'); |
| 自定义端口(如 3307) | define('DB_HOST', '127.0.0.1:3307'); |
| 查看端口 | SHOW VARIABLES LIKE 'port'; |
修改完 wp-config.php 后保存,刷新网站即可生效。
如有其他错误(如数据库连接失败),请检查 MySQL 服务状态和用户权限。
云知识