Laravel新手执行php artisan migrate遇数据库连接拒绝错误求助
解决Laravel迁移时SQLSTATE[HY000] [2002]连接被拒绝的问题
针对你执行php artisan migrate时遇到的连接被拒绝错误,按以下步骤排查解决:
确认MySQL服务正在运行
目标机器拒绝连接最常见的原因是MySQL服务未启动:- Windows:按下Win+R输入
services.msc打开「服务」面板,找到MySQL服务,确保状态为「正在运行」,未启动则右键选择「启动」;也可在命令行执行net start mysql。 - Linux/macOS:系统包安装的MySQL执行
systemctl start mysql,brew安装的则用brew services start mysql。
- Windows:按下Win+R输入
核对数据库连接配置
打开项目根目录下的.env文件,检查以下参数是否正确:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel-testing DB_USERNAME=root DB_PASSWORD=你的MySQL密码注意:
- 确保
DB_DATABASE对应的laravel-testing数据库已存在,可通过MySQL命令行执行CREATE DATABASE laravel-testing;创建。 - 若
localhost连接失败,尝试换成127.0.0.1(前者可能使用socket连接,后者用TCP连接)。 - 确认
DB_PASSWORD与MySQL root账号密码一致,若root无密码则留空。
- 确保
清除Laravel配置缓存
项目可能缓存了旧配置,执行以下命令清除后再尝试迁移:php artisan config:clear php artisan migrate检查防火墙/安全软件拦截
本地防火墙或杀毒软件可能拦截了3306端口连接,暂时关闭相关软件后重试,或在防火墙规则中添加MySQL的3306端口例外。
内容的提问来源于stack exchange,提问作者Hamd Mahmood
相关产品推荐
相关产品推荐

