You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac重启后XAMPP中MySQL连接被拒绝(HY000/2002)问题求助

解决Mac重启后XAMPP MySQL连接被拒绝(HY000/2002)的问题

问题背景

本地项目在XAMPP环境下原本运行正常,安装OpenSSL后也能正常工作,但Mac重启后出现以下问题:

  • 启动XAMPP服务时触发PHP警告:

    A PHP Error was encountered
    Severity: Warning
    Message: mysqli::real_connect(): (HY000/2002): Connection refused
    Filename: mysqli/mysqli_driver.php
    Line Number: 203
    Backtrace:
    File: /Applications/XAMPP/xamppfiles/htdocs/fed8/application/controllers/Login.php
    Line: 8
    Function: __construct
    File: /Applications/XAMPP/xamppfiles/htdocs/fed8/index.php
    Line: 315
    Function: require_once

  • 访问localhost/phpmyadmin时出现连接错误:

    MySQL ha dicho: Documentación
    No se estableció la conexión: los parámetros están incorrectos.
    Índice de servidor inválido:
    mysqli::real_connect(): (HY000/2002): Connection refused
    La conexión para controluser, como está definida en su configuración, fracasó.
    mysqli::real_connect(): (HY000/2002): Connection refused
    phpMyAdmin intentó conectarse con el servidor MySQL, y el servidor rechazó esta conexión. Deberá revisar el host, nombre de usuario y contraseña en config.inc.php y asegurarse que corresponden con la información provista por el administrador del servidor MySQL.

已尝试修改config.inc.php的host、认证方式、密码,修改my.cnf,重装/降级XAMPP等方案,均未解决问题。

排查与解决步骤

1. 确认MySQL服务是否实际启动

  • 打开XAMPP控制面板,检查MySQL模块状态是否为Running,若显示启动但仍报错,需验证进程是否存在:
    终端执行:
    ps aux | grep mysql
    
    若输出中无XAMPP相关的mysqld进程,说明服务未真正启动。
  • 尝试手动启动MySQL并查看报错:
    先在XAMPP面板停止MySQL,再执行:
    sudo /Applications/XAMPP/xamppfiles/bin/mysqld_safe
    
    终端会输出具体启动失败原因(如端口占用、权限问题)。

2. 检查端口冲突

MySQL默认使用3306端口,Mac自带MySQL或其他软件可能占用该端口:

  • 终端查询端口占用情况:
    lsof -i :3306
    
  • 若存在非XAMPP的进程,杀掉该进程:
    sudo kill -9 [进程PID]
    
  • 若不想终止其他进程,可修改XAMPP的MySQL端口:
    1. 打开XAMPP面板的MySQL配置文件(my.cnf),将port=3306改为3307(或其他未占用端口);
    2. 修改phpMyAdmin的config.inc.php,添加/修改:
      $cfg['Servers'][$i]['port'] = '3307';
      
    3. 同步修改项目数据库配置文件中的端口。

3. 修复MySQL数据目录权限

重启后XAMPP的MySQL数据目录权限可能异常:
终端执行以下命令修复权限:

sudo chown -R mysql:mysql /Applications/XAMPP/xamppfiles/var/mysql
sudo chmod -R 755 /Applications/XAMPP/xamppfiles/var/mysql

执行后重启XAMPP的MySQL服务。

4. 重置MySQL root密码(权限验证失败场景)

若因密码失效或权限配置错误导致连接拒绝:

  1. 在XAMPP面板停止MySQL服务;
  2. 终端执行跳过权限验证启动MySQL:
    /Applications/XAMPP/xamppfiles/bin/mysqld_safe --skip-grant-tables &
    
  3. 打开新终端,登录MySQL:
    /Applications/XAMPP/xamppfiles/bin/mysql -u root
    
  4. 执行SQL重置root密码:
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
    
  5. 重启MySQL服务,同步修改phpMyAdmin的config.inc.php和项目数据库配置中的密码。

5. 检查OpenSSL对环境变量的影响

安装OpenSSL可能修改系统PATH,导致XAMPP调用系统库而非自带库:

  • 终端查看当前PATH:
    echo $PATH
    
  • 若/Applications/XAMPP/xamppfiles/bin未排在系统目录(如/usr/bin)之前,修改shell配置文件:
    • 若使用zsh,编辑~/.zshrc;若使用bash,编辑~/.bash_profile;
    • 添加以下内容:
      export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
      
    • 重启终端后,重新启动XAMPP服务。

内容的提问来源于stack exchange,提问作者AlexTrejo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:45:28