首页 > 解决方案 > Laravel 迁移 SQLSTATE[HY000] [2002] 连接被拒绝

问题描述

尝试在 laravel 中迁移到 localhost 时出现错误。我正在学习如何使用 laravel 但我无法连接到 phpmyadmin 数据库。

这是可视代码终端中的错误消息
当我将 db host 更改为 localhost 它给我一个 PDOException::("SQLSTATE[HY000] [2002] No such file or directory") 错误

这是我的环境。文件

APP_NAME=LSAPP 
APP_ENV=local 
APP_KEY=base64:Cv3S1V8GT1RKgpfilYmQM4aiM1HoXlwUMfh1oeL424I= 
APP_DEBUG=true APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=lsapp 
DB_USERNAME=root 
DB_PASSWORD=

BROADCAST_DRIVER=log C
ACHE_DRIVER=file 
QUEUE_CONNECTION=sync 
SESSION_DRIVER=file 
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID= 
AWS_SECRET_ACCESS_KEY= 
AWS_DEFAULT_REGION=us-east-1 
AWS_BUCKET=

PUSHER_APP_ID= 
PUSHER_APP_KEY= 
PUSHER_APP_SECRET= 
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

我将 DBHOST 更改为 localhost 并尝试了其他数据库用户名和数据库密码,但没有运气。我的创建帖子代码如下

Schema::create('posts', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('title');
            $table->mediumText('body');
            $table->timestamps();
        });

我还更改了我的 AppServiceProvider.php 以包含 Schema::defaultStringLength(191); 我也在 phpmyadmin 中创建了空表。

标签: phplaravelxampp

解决方案


第一次尝试

DB_HOST=localhost 
php artisan migrate --env=production(or whatever environment)

然后

sudo service mysqld start

推荐阅读