Laravel 5.6全新安装后SQLSTATE[HY000][2002]连接拒绝问题求助
Laravel 5.6 数据库连接拒绝(SQLSTATE[HY000] [2002])问题排查方案
我之前在搭建Laravel项目时也踩过类似的数据库连接坑,结合你的描述,给你几个针对性的排查和解决步骤:
1. 优先确认.env文件的配置(关键!)
你的config/database.php里是读取环境变量的,所以实际生效的配置是.env文件里的值,别只改config文件却忽略了它。特别是用Homestead的情况,注意这几个关键点:
- Homestead默认把MySQL的3306端口映射到本地主机的
33060,所以.env里的DB_PORT要设为33060,而不是默认的3306 - Homestead默认的数据库账号是
forge,密码是secret(不是空密码),别记错了 - 确保
DB_DATABASE是你已经在Homestead里创建好的数据库名(可以通过mysql -u forge -p登录后用CREATE DATABASE 你的库名;创建)
正确的.env配置示例(针对Homestead):
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=33060 DB_DATABASE=your_project_name DB_USERNAME=forge DB_PASSWORD=secret
2. 检查数据库服务状态
不管是虚拟机里的MySQL还是本地的,先确认服务在运行:
- 如果是Homestead虚拟机,先通过
vagrant ssh进入虚拟机,然后执行:sudo systemctl status mysql # 如果没启动,执行启动命令 sudo systemctl start mysql - 如果是本地的MySQL(比如Windows/Mac),直接在系统服务里检查MySQL服务是否运行。
3. 验证数据库用户的访问权限
有时候连接失败不是密码错,而是用户没有权限从当前主机访问数据库:
- 进入虚拟机的MySQL控制台:
mysql -u forge -p - 执行以下命令授权用户(比如允许forge从任何主机访问):
GRANT ALL PRIVILEGES ON your_project_name.* TO 'forge'@'%'; FLUSH PRIVILEGES; - 如果用root用户,同样要确保root用户允许外部访问(不建议生产环境用root,但开发环境可以临时测试)。
4. 检查Unix Socket配置(本地MySQL场景)
如果你是在本地直接运行Laravel(没用Homestead虚拟机),比如Mac上的MAMP或者原生MySQL,可能需要指定socket路径:
- 找到你的MySQL socket文件路径(比如MAMP的是
/Applications/MAMP/tmp/mysql/mysql.sock) - 在
.env里添加:DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
5. 清除Laravel配置缓存
修改配置后,Laravel可能还在使用缓存的旧配置,执行以下命令清除:
php artisan config:clear php artisan cache:clear
附上你提供的数据库配置片段方便对照:
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], 'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, ] ]
内容的提问来源于stack exchange,提问作者user873684
相关产品推荐
相关产品推荐

