Mac重装XAMPP后服务异常 localhost访问被拒phpMyAdmin连MySQL报错
Mac端XAMPP重装后服务异常、phpMyAdmin连接报错修复方案
核心报错对应两类问题:一是核心服务未正常启动、端口/进程残留,二是phpMyAdmin配置与MySQL连接参数不匹配,按以下步骤逐一排查修复即可:
1. 恢复Apache、MySQL基础服务运行
- 打开XAMPP管理面板,查看Apache、MySQL服务的运行状态,先点击「Start」尝试启动两个服务
- 如果Apache启动失败,打开终端执行
sudo lsof -i :80查看80端口占用进程,拿到进程PID后执行sudo kill -9 进程PID结束占用,再回到面板重启Apache - 如果MySQL启动失败,终端执行
sudo killall -9 mysqld结束系统残留的MySQL进程,再回到面板重启MySQL - 服务启动后访问
http://localhost,能正常加载XAMPP欢迎页即代表Apache服务恢复正常,继续处理phpMyAdmin连接问题
2. 修复phpMyAdmin配置匹配问题(解决HY000/2002、controluser连接失败报错)
No such file or directory报错是因为Mac端phpMyAdmin默认通过本地套接字连接MySQL,和XAMPP内置MySQL的套接字存放路径不匹配,同时重装后controluser配置易出现参数不匹配问题,按以下操作修改:
- 终端执行命令打开phpMyAdmin配置文件:
sudo nano /Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php - 找到配置项
$cfg['Servers'][$i]['host'],将默认值'localhost'修改为'127.0.0.1',强制走TCP连接绕开套接字路径问题 - 同文件下找到controluser相关配置项,XAMPP内置MySQL默认账号为
root、默认密码为空,将两项修改为以下内容:
$cfg['Servers'][$i]['controluser'] = 'root'; $cfg['Servers'][$i]['controlpass'] = '';
- 如果你之前自定义过MySQL root密码,将
controlpass的值替换为你实际设置的密码即可 - 编辑完成后按
Ctrl+O回车保存,再按Ctrl+X退出编辑器
3. 重置MySQL权限(解决Access denied访问被拒问题)
如果修改配置后仍提示连接被拒,是重装XAMPP时旧的MySQL权限配置残留导致:
- 先在XAMPP面板停止MySQL服务
- 终端执行命令以跳过权限验证的安全模式启动MySQL:
sudo /Applications/XAMPP/xamppfiles/bin/mysqld_safe --skip-grant-tables - 新开一个终端窗口,执行命令无密码登录MySQL:
/Applications/XAMPP/xamppfiles/bin/mysql -u root - 登录成功后依次执行以下SQL命令重置root账号权限:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY ''; FLUSH PRIVILEGES; exit;
- 回到终端执行
sudo killall -9 mysqld结束安全模式运行的MySQL进程,再到XAMPP面板正常启动MySQL服务
结果验证
打开浏览器访问http://localhost/phpmyadmin,能正常进入数据库管理页面即代表所有问题修复完成。
内容的提问来源于stack exchange,提问作者Hamza Mian
相关产品推荐
相关产品推荐

