使用MAMP时无法通过localhost/phpmyadmin访问PhpMyAdmin如何解决
你遇到的报错为mysqli_real_connect(): (HY000/2002): No such file or directory,错误截图如下:
这个报错的核心原因是phpMyAdmin默认使用的MySQL socket路径和MAMP实际生成的socket路径不匹配,和账号密码配置无关,所以你之前调整身份验证相关参数无法解决问题,按以下步骤操作即可修复:
步骤1:确认MAMP的MySQL socket路径
- 打开MAMP偏好设置,先切换到「PHP」标签,记录当前正在使用的PHP版本
- 再切换到「服务器」标签,找到MySQL socket的实际路径,MAMP默认路径为
/Applications/MAMP/tmp/mysql/mysql.sock,如果你修改过MAMP的安装路径,对应调整即可
步骤2:修改phpMyAdmin配置文件
- 进入MAMP的phpMyAdmin目录,找到配置文件
config.inc.php,默认路径为/Applications/MAMP/bin/phpMyAdmin/config.inc.php - 打开文件,添加或修改以下配置项:
// 保持host为localhost不要改成127.0.0.1 $cfg['Servers'][$i]['host'] = 'localhost'; // 这里填你步骤1查到的socket路径 $cfg['Servers'][$i]['socket'] = '/Applications/MAMP/tmp/mysql/mysql.sock'; // 如果你修改过MAMP MySQL的默认端口,补充下面这行,端口号替换为你自定义的端口 $cfg['Servers'][$i]['port'] = '3306';
- 保存修改后的配置文件,完全退出MAMP后重新启动所有服务,再次访问
localhost/phpmyadmin即可正常进入
异常排查
如果操作完还是报错,检查两个常见问题:
- 检查本机hosts配置:打开
/etc/hosts文件,确认存在127.0.0.1 localhost的绑定规则,没有其他冲突的localhost配置 - 检查MySQL服务状态:打开MAMP控制面板,确认MySQL服务的状态灯为绿色,如果启动失败,先杀掉占用3306端口的残留进程后再重启MAMP
内容的提问来源于stack exchange,提问作者Ky Lrinth
相关产品推荐
相关产品推荐

