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

XAMPP环境下Laravel应用启动失败,反复出现MariaDB连接错误SQLSTATE[HY000] [1130]

XAMPP环境下Laravel应用启动失败,反复出现MariaDB连接错误SQLSTATE[HY000] [1130]

哥们我太懂这种反复踩坑的烦躁了!这个错误本质是MariaDB的权限配置出了问题,导致你的Laravel应用用的数据库账号没法从localhost连接服务器,而且你说重装能管几个月,大概率是XAMPP的MariaDB在某些更新或者重启后,权限配置被重置或者出现了异常。咱们直接来解决根本问题,别再靠重装治标不治本了:

一、先快速恢复连接,解决当前问题

  • 打开XAMPP控制面板,启动MariaDB服务,然后点击旁边的「Shell」按钮打开命令行终端
  • 输入命令 mysql -u root -p,回车后输入你的MariaDB root密码(如果没设置过直接按回车即可)
  • 进入数据库控制台后,执行下面的SQL语句,给你的数据库账号授权从localhost连接的权限:
    -- 如果用的是root账号,把密码改成你的root密码
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '你的数据库密码' WITH GRANT OPTION;
    -- 如果Laravel用的是专门的数据库账号(比如laravel_user),替换成对应的账号和密码
    GRANT ALL PRIVILEGES ON *.* TO 'laravel_user'@'localhost' IDENTIFIED BY '你的账号密码' WITH GRANT OPTION;
    
  • 执行完授权后,一定要刷新权限让配置生效:
    FLUSH PRIVILEGES;
    
  • 输入 EXIT; 退出数据库控制台,然后重启XAMPP的MariaDB和Apache服务,这时候再启动Laravel应该就能正常连接了。

二、彻底解决反复出现的问题

1. 不要用root账号连接Laravel,创建专用数据库账号

专门的账号权限更精准,不容易被系统配置变动影响:

  • 还是在MariaDB的Shell终端里,先创建专用账号:
    CREATE USER 'laravel_app'@'localhost' IDENTIFIED BY '你的安全密码';
    
  • 给这个账号授予你Laravel项目数据库的全部权限(把your_laravel_db换成你实际的数据库名):
    GRANT ALL PRIVILEGES ON your_laravel_db.* TO 'laravel_app'@'localhost';
    FLUSH PRIVILEGES;
    
  • 打开Laravel根目录下的 .env 文件,把 DB_USERNAME 改成这个新账号,DB_PASSWORD 对应设置的密码,保存后重启服务即可。

2. 检查MariaDB的绑定地址配置

有时候XAMPP的配置变动会导致MariaDB只监听特定IP,拒绝localhost连接:

  • 找到XAMPP的MariaDB配置文件:Windows系统一般是 XAMPP安装目录\mysql\my.ini,Linux系统是 /opt/lampp/etc/my.cnf
  • 打开文件后搜索 bind-address,确保它的值是 127.0.0.1 或者 localhost,如果这行被注释掉了也没关系,默认就是允许本地连接的。如果是其他IP,改成127.0.0.1后保存,重启MariaDB服务。

3. 关闭XAMPP自动更新(可选)

部分情况下XAMPP的自动更新会重置MariaDB的权限配置,你可以在XAMPP控制面板里找到更新相关的选项,把自动更新关掉,后续手动更新时留意数据库配置是否被改动。

三、排查小技巧

下次再出现这个错误,先别急着重装,先检查Laravel根目录的 .env 文件,确认 DB_HOST、DB_USERNAME、DB_PASSWORD 这些参数有没有被误改,很多时候都是配置文件的小失误导致的。

备注:内容来源于stack exchange,提问作者Semche

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 06:10:31