web-dev-qa-db-de.com

Laravel: Keine solche Datei oder Verzeichnis (SQL: Tabelle `Migrationen` erstellen)

Ich habe die migrations-Tabelle aus einer Laravel -Datenbank 5.4 mit dem Namen laravel gelöscht. Wenn ich php artisan migrate:install starte, erhalte ich folgende Fehlermeldung:

[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)

Ich habe die Datenbank gelöscht und neu erstellt. Ich lief auch composer update. Kein Glück. Ich kann den Befehl in phpMyAdmin ausführen und die Tabelle manuell erstellen.

6
Jay Bienvenu

Wenn Sie localhost als Datenbankhost verwenden, ändern Sie ihn in 127.0.0.1. Führen Sie dann php artisan config:clear aus und versuchen Sie es erneut mit php artisan migrate:install.

9
Camilo

Folgendes empfehle ich für .env Datei:

DB_CONNECTION=mysql
DB_Host=localhost
DB_PORT=3306

Dann in Database.php Ordner hinzufügen:

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

Schließlich versuchen Sie:

php artisan config:clear
php artisan migrate:install
5
kaleazy

Versuchen Sie vielleicht die folgenden Befehle

Rollback:

php artisan migrate:rollback

Oder ein Reset mit:

php artisan migrate:reset

oder eine Aktualisierung durchführen:

php artisan migrate:refresh
1
Jeroen

Ich arbeite mit Mamp, daher ist mein Unix-Sockel gegeben:

localhost:/Applications/MAMP/tmp/mysql/mysql.sock

Durch das Verbinden von Laravel mit der Datenbank bekomme ich auch den Fehler oben . Meine Lösung bestand darin, den Socket ohne "localhost:". __ zu nehmen (es ist eine lokale Installation).

Also probieren Sie den Socket: /Applications/MAMP/tmp/mysql/mysql.sock

0
user10291311

Ich verwende MAMP unter MacOS und nachdem ich localhost auf 127.0.0.1 und den Port auf 8888 bearbeitet habe, wurde dieses Problem durch Hinzufügen des Folgenden behoben

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

in die config/database.php Datei.

0
felmez

In einigen Fällen kann dies passieren, weil der MySQL-Server nicht ausgeführt wird. Es ist mir passiert mit Laravel 5.7 und Neustart von MySQL-Server gelöst. Für Ubuntu überprüfen Sie den Status von MySQL-Server service mysql status. Sie können MySQL-Server mit Befehl service mysql restart

0
William M

Ich habe den Ordner gelöscht und die Codebasis neu erstellt, wobei sichergestellt wurde, dass meine Umgebung auf den richtigen Datenbankserver verweist. Diesmal hat es geklappt. Ich weiß nicht genau, was fehlte, um den ursprünglichen Fehler zu verursachen.

0
Jay Bienvenu