Ответ 1
Если вы используете localhost
качестве вашего хоста базы данных, измените его на 127.0.0.1
, затем запустите php artisan config:clear
и теперь попробуйте выполнить php artisan config:clear
php artisan migrate:install
again.
Я удалил таблицу 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
. Неудачно. Я могу запустить команду в phpMyAdmin и создать таблицу вручную.
Если вы используете localhost
качестве вашего хоста базы данных, измените его на 127.0.0.1
, затем запустите php artisan config:clear
и теперь попробуйте выполнить php artisan config:clear
php artisan migrate:install
again.
Вот что я рекомендую для файла .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
Возможно, попробуйте следующие команды
Откат:
php artisan migrate:rollback
Или сброс с использованием:
php artisan migrate:reset
или сделать обновление:
php artisan migrate:refresh
Если вы используете localhost
качестве хоста базы данных,
измените его на 127.0.0.1
, затем запустите php artisan config:clear
и теперь попробуйте php artisan migrate:install
снова.
Я удалил папку и воссоздал базу кода, указав свою среду на правильный сервер базы данных. На этот раз это сработало. Я не знаю точно, что пропало, чтобы вызвать исходную ошибку.
Я работаю с Mamp, поэтому мой Unix Socket предоставляется:
localhost:/Applications/MAMP/tmp/mysql/mysql.sock
Связывая laravel с базой данных, я также получаю ошибку сверху. Мое решение состояло в том, чтобы взять сокет без "localhost:" (это локальная установка)
Поэтому попробуйте Socket: /Applications/MAMP/tmp/mysql/mysql.sock
В некоторых случаях это может произойти, потому что сервер MySQL не работает. Это случилось со мной, используя Laravel 5.7, и перезапуск сервера MySQL решил это. Для Ubuntu проверьте состояние сервера service mysql status
. Вы можете перезапустить MySQL-сервер, используя команду service mysql restart
Я использую MAMP на macOS и после редактирования localhost на 127.0.0.1 и переноса на 8888 эта проблема исправлена путем добавления следующего
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
в файл config/database.php.