代码之家  ›  专栏  ›  技术社区  ›  Jay Bienvenu

运行迁移时,“没有这样的文件或目录”或“没有这样的主机”

  •  36
  • Jay Bienvenu  · 技术社区  · 9 年前

    我删除了 migrations 来自Laravel 5.4数据库的表,名为 laravel php artisan migrate:install ,我得到这个错误:

    [Illuminate\Database\QueryException]
    SQLSTATE[HY000] [2002] No such file or directory
    (SQL: select * from information_schema.tables where table_schema = laravel
        and table_name = migrations)
    

    我删除并重新创建了数据库。我也跑了 composer update

    这个问题有时也表现为类似的2002年错误:

    [Illuminate\Database\QueryException]
    SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.
    (SQL: select * from information_schema.tables where table_schema = laravel
        and table_name = migrations and table_type = 'BASE TABLE')
    
    [Illuminate\Database\QueryException]
    SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
    (SQL: select * from information_schema.tables where table_schema = laravel
        and table_name = migrations and table_type = 'BASE TABLE')
    
    8 回复  |  直到 5 年前
        1
  •  93
  •   miken32 Amit D    5 年前

    localhost 作为您的 DATABASE_HOST 在 .env 127.0.0.1 ,然后运行 php artisan config:clear php artisan migrate:install 再一次

        2
  •  19
  •   kaleazy    7 年前

    这是我推荐的 .env

    DB_CONNECTION=mysql
    DB_HOST=localhost
    DB_PORT=3306
    

    Database.php 添加文件夹位置:

    'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
    

    最后,尝试:

    php artisan config:clear
    php artisan migrate:install
    
        3
  •  7
  •   ahmnouira    6 年前

    .env 文件:

    DB_CONNECTION=mysql 
    DB_HOST=mysql 
    DB_PORT=3306 
    

    实际上我刚从 DB_HOST=127.0.0.1 到 DB_HOST=mysql

        4
  •  6
  •   James Cushing    6 年前

    如果您正在使用MAMP Pro(免费版本的MAMP并不总是必需的),那么最好将其添加到您的 .env

    DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
    

    这假设您的MAMP安装在 /Applications/MAMP 当然(默认)。

    信贷:Uncoke对这个问题的评论

        5
  •  3
  •   felmez    7 年前

    “unix\u套接字”=>env('DB\u SOCKET','/Applications/MAMP/tmp/mysql/mysql.sock'),

    配置/数据库。php文件。

        6
  •  2
  •   William Mandai    7 年前

    service mysql status . 您可以使用命令重新启动mysql服务器 service mysql restart

        7
  •  1
  •   MUHINDO    4 年前

    对于mac用户,请将其添加到您的。环境文件

    DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock  
    
        8
  •  0
  •   Trenton McKinney ivirshup    5 年前

    发布我自己问题的解决方案:

    我删除了文件夹并重新创建了代码库,确保将我的环境指向正确的数据库服务器。这次成功了。我不知道到底是什么原因导致了最初的错误。