WordPress连接非默认端口MySQL报错:无法建立数据库连接
解决WordPress数据库连接失败问题(XAMPP环境)
核心排查与修复步骤
1. 确认MySQL服务正常运行
打开XAMPP控制面板,检查MySQL模块状态是否显示为Running。若未启动,点击Start按钮启动,确保无报错提示。
2. 确认目标数据库已创建
- 访问
localhost/phpmyadmin,使用默认用户名root(密码为空或你自行设置的密码)登录。 - 检查是否存在为WordPress准备的数据库;若未创建,点击左侧「新建」按钮,输入数据库名称后完成创建。
3. 修正wp-config.php的数据库参数
WordPress的数据库连接参数必须完全匹配XAMPP配置,尤其是非默认的3307端口。以下是正确配置示例,替换为你的实际信息:
<?php /** WordPress数据库名称 */ define( 'DB_NAME', '你的数据库名称' ); /** MySQL数据库用户名 */ define( 'DB_USER', 'root' ); /** MySQL数据库密码 */ define( 'DB_PASSWORD', '你的MySQL密码(未设置则留空)' ); /** MySQL主机 - 必须指定3307端口 */ define( 'DB_HOST', 'localhost:3307' ); /** 创建数据表时默认的文字编码 */ define( 'DB_CHARSET', 'utf8' ); /** 数据库整理类型,不确定则保持默认 */ define( 'DB_COLLATE', '' ); /**#@+ * 认证密钥与盐 * 可替换为任意独一字符串,或保留示例内容先完成安装 */ define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' ); /**#@-*/ /** WordPress数据表前缀 */ define( 'WP_TABLE_PREFIX', 'wp_' ); /** 开发者模式,默认关闭 */ define( 'WP_DEBUG', false ); /* 停止编辑,继续安装 */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); } require_once ABSPATH . 'wp-settings.php';
- 关键注意点:
DB_HOST必须设置为localhost:3307,仅写localhost会默认走3306端口,导致连接失败。 - 若之前修改的是
wp-config-sample.php,需将其重命名为wp-config.php才能生效。
4. 验证数据库账号有效性
- 打开XAMPP面板中MySQL模块的
Config→my.ini,确认未修改默认用户名;若设置过密码,确保与wp-config中的DB_PASSWORD一致。 - 在phpMyAdmin中用该账号登录,确认能正常访问目标数据库。
5. 测试数据库连接可用性
创建test-db.php文件放在WordPress目录下,访问localhost/wordpress/test-db.php验证连接:
<?php $host = 'localhost:3307'; $dbname = '你的数据库名称'; $user = 'root'; $pass = '你的密码'; try { $pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); echo "数据库连接成功!"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); } ?>
若脚本显示连接失败,说明问题出在MySQL服务或账号权限,而非WordPress配置。
6. 检查MySQL本地连接权限
- 登录phpMyAdmin进入「用户账户」页面,找到
root@localhost用户。 - 确认该用户拥有「SELECT、INSERT、UPDATE、DELETE」等基础权限,且主机设置为
localhost或127.0.0.1。
内容的提问来源于stack exchange,提问作者Filip Kustoch
相关产品推荐
相关产品推荐

