php artisan migrateを実行したいがエラーが解決できない
Q&A
Closed
やりたいこと
Laravelを使ったWebサービス開発にあたって、ローカル開発環境としてMAMPを使用したいです。LaravelからphpMyAdminで作成したDBにアクセスをするために、$ php artisan migrate
を実行したいのですが、エラーが止まず困り果てています。
プロジェクト名:jazz-review
DB名:jazz_review
エラーの内容
$ php artisan migrate
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = jazz_review and table_name = migrations and table_type = 'BASE TABLE')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:671
667| // If an exception occurs when attempting to run a query, we'll format the error
668| // message to include the bindings with SQL, which will make this exception a
669| // lot more helpful to the developer instead of just the database's errors.
670| catch (Exception $e) {
> 671| throw new QueryException(
672| $query, $this->prepareBindings($bindings), $e
673| );
674| }
675|
+34 vendor frames
35 artisan:37
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
jazz_reviewというのは今回のDBの名前です。
確認したこと、試したこと
php artisan migrateはlaravelのプロジェクト(フォルダ)の直下で打っています
$ pwd
/Applications/MAMP/htdocs/jazz-review
jazz_reviewというのは今回のプロジェクトの名前です。
phpMyAdmin
jazz_reviewという名前のデータベースを作成しています。色々試す中で、今テーブルは一つもない状態で、空のDBになっています。
このDBはFinderでも/Applications/MAMP/db/mysql57
で確認することができます。
.envファイルの設定
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=8889
DB_DATABASE=jazz_review
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/myqsl.sock
DB_HOSTは127.0.0.1でも試しました。
Laravelのdatabaseフォルダ内のdatabase.phpの設定
'default' => env('DB_CONNECTION', 'mysql'),
//中略
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '8889'),
'database' => env('DB_DATABASE', 'jazz_review'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/myqsl.sock'),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
hostは'127.0.0.1'でも試しました。
unix_socketのenvの第2パラメータは空''
でも試しました。
php artisan make:migration create_usersの実行と設定
MySQLでの確認(ターミナルにて)
今回のDB(jazz_reviewデータベース)があることを確認しました。
mysql> show variables like '%sock%';
でsocketを確認しました。
最後に
大変恐れ入りますが、よろしくお願いします。