SQLSTATE[HY000] [2002] 当我尝试 php artisan migrate 时没有这样的文件或目录

SQLSTATE[HY000] [2002] No such file or directory when i try to php artisan migrate

刚刚创建了一个新的 laravel 项目并尝试迁移表,我得到了这个:

SQLSTATE[HY000] [2002] 没有这样的文件或目录 (SQL: select * 来自 information_schema.tables 其中 table_schema = sugarDaddy 和table_name = 迁移和 table_type = 'BASE TABLE')

我尝试清除缓存、路由、配置,并将 DBHOST 从 127.0.0.1 更改为 localhost 并返回,正如我在几篇文章中看到的那样,但没有任何效果。我将把迁移和 ss 留在这里。

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

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

我从屏幕截图中可以看出,您的 phpMyAdmin 在 8889 端口连接到数据库,您的 envDB_PORT=3306,更改为 DB_PORT=8889

评论区总结:

丹正在使用 MAMP,因此 mysql 连接的配置应包含(对于默认 MAMP 设置):

DB_HOST=localhost
DB_PORT=8889
DB_USERNAME=root
DB_PASSWORD=root