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

Laravel 9登录时出现root@localhost数据库连接权限拒绝问题求助

解决Laravel 9本地XAMPP数据库连接权限问题

1. 核对.env文件配置

确保项目根目录下的.env文件数据库配置项完全匹配你的XAMPP设置(无密码场景):

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=你的目标数据库名
DB_USERNAME=root
DB_PASSWORD=

注意:DB_PASSWORD需留空,不要添加任何引号、空格或占位符。

2. 彻底清除配置缓存

执行以下命令确保配置缓存完全刷新:

php artisan config:clear
php artisan cache:clear
php artisan route:clear

本地开发环境不建议使用config:cache,避免配置更新不生效。

3. 修正MySQL root用户权限

XAMPP的MySQL可能对root@localhost和root@127.0.0.1权限分离,即使密码为空也可能导致访问被拒:

  • 打开XAMPP控制面板,启动MySQL后点击Shell按钮
  • 输入mysql -u root回车进入MySQL命令行
  • 执行以下SQL语句赋予全权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;
FLUSH PRIVILEGES;

4. 强制TCP连接替代Socket

部分环境下localhost会触发Unix Socket连接,换成127.0.0.1可强制使用TCP连接,避免权限验证异常。

5. 验证连接有效性

在routes/web.php中添加测试路由快速验证:

Route::get('/test-db', function () {
    try {
        DB::connection()->getPdo();
        return "数据库连接成功";
    } catch (\Exception $e) {
        return "连接失败: " . $e->getMessage();
    }
});

访问http://localhost/你的项目路径/test-db查看结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 08:24:53