Mac XAMPP环境下PHP连接MySQL失败及phpMyAdmin无法连接求助
解决XAMPP下phpMyAdmin连接MySQL被拒绝的问题
问题详情
- PHP连接MySQL失败,服务器拒绝用户
control的连接请求 - Mac系统使用XAMPP,本地服务器状态正常,但phpMyAdmin无法连接,此前可正常使用
排查与解决步骤
1. 重启MySQL服务
打开XAMPP控制面板,确认MySQL服务处于运行状态。若已运行,先停止服务,等待10秒后重新启动。
2. 验证并修复MySQL用户权限
终端执行XAMPP自带的MySQL客户端命令,用root用户登录:
/Applications/XAMPP/bin/mysql -u root -p
输入root密码后,执行以下SQL命令:
- 检查
control用户的本地访问权限:
SELECT user, host FROM mysql.user WHERE user = 'control';
- 若
host字段不是localhost或127.0.0.1,添加本地访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'control'@'localhost' IDENTIFIED BY '你的用户密码'; FLUSH PRIVILEGES;
- 若密码错误,重置用户密码:
ALTER USER 'control'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES;
3. 检查phpMyAdmin配置
打开/Applications/XAMPP/phpmyadmin/config.inc.php文件,确认以下配置项与MySQL用户信息匹配:
$cfg['Servers'][$i]['user'] = 'control'; $cfg['Servers'][$i]['password'] = '你的用户密码'; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = '3306'; // 若修改过MySQL端口需对应调整
4. 检查端口占用情况
终端执行命令查看3306端口(MySQL默认端口)是否被其他程序占用:
lsof -i :3306
若发现非XAMPP的MySQL进程占用,关闭该进程后重启XAMPP的MySQL服务。
5. 重置MySQL数据(极端情况)
若以上方法均无效:
- 停止XAMPP的MySQL服务
- 备份
/Applications/XAMPP/xamppfiles/var/mysql目录下的所有数据文件 - 删除该目录内的所有文件
- 重新启动MySQL服务,XAMPP会重建默认数据库,之后重新创建
control用户并配置权限。
内容的提问来源于stack exchange,提问作者Junaid Ali Ansari
相关产品推荐
相关产品推荐

