Laravel マイグレーションで詰まった話

目的
-----
初めてPHPのLaravelを使ってアプリケーションを作成しました。
１日解決出来なかったエラーがあったので解決に至った経緯をまとめます。

エラー内容
---
・マイグレーション時のエラー画面

`````
% php artisan migrate

   Illuminate\Database\QueryException 

  SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = root and table_name = migrations and table_type = 'BASE TABLE')

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
    674▕         // If an exception occurs when attempting to run a query, we'll format the error
    675▕         // message to include the bindings with SQL, which will make this exception a
    676▕         // lot more helpful to the developer instead of just the database's errors.
    677▕         catch (Exception $e) {
  ➜ 678▕             throw new QueryException(
    679▕                 $query, $this->prepareBindings($bindings), $e
    680▕             );
    681▕         }
    682▕ 

      +33 vendor frames 
  34  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
```

エラー原因と結論
---
・.envファイルを変更したが、サーバーに反映出来ていなかった。

・mysql.sockというMySQLソケットに関するファイルがうまく読み込まれていなかった。

解決法
---
まず.envファイルを以下のように変更

.envファイルの修正前

````
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=root
DB_USERNAME=root
DB_PASSWORD=　　//mysqlにログインした時のパスワードを入力しました。
DB_SOCKET=/var/run/mysqld/mysqld.sock
`````

修正後の.envファイル

````
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=photos-project //データベース名に合わせて変更
DB_USERNAME=root
DB_PASSWORD=　　//mysqlにログインした時のパスワードを入力しました。
DB_SOCKET=/tmp/mysql.sock　//socketを調べて入力
````

DB_SOCKETについては、下記の方法で調べました。
まずmysqlにログイン。
下記コマンドを実行しstockの部分を.envファイルにも記述する。

````
mysql> show variables like '%sock%';
+-----------------------------------------+-----------------+
| Variable_name                           | Value           |
+-----------------------------------------+-----------------+
| performance_schema_max_socket_classes   | 10              |
| performance_schema_max_socket_instances | 322             |
| socket                                  | /tmp/mysql.sock |
+-----------------------------------------+-----------------+
3 rows in set (0.00 sec)
```


.envファイルは正しく入力できたと思う。
% php artisan migrate　マイグレーションを実行するが同じエラーが出る。

サーバーで入力内容が正しく反映しているか確認する為に下記のコードを入力。


>php artisan tinker

データベースのデフォルト結果などアプリケーションの中身を確認することができるみたいです。
早速確認。

````
% php artisan tinker
Psy Shell v0.10.6 (PHP 7.3.11 — cli) by Justin Hileman
 config('database.default');
=> mysql
 config('http//database.connetions.mysql.host');
=> null
 config('database.connections.mysql.port');
=> 3306
 config('database.connections.mysql.database');
=> root
 config('database.connections.mysql.username');
=> root
 config('database.connections.mysql.host');
=> localhost
 exit
```
config('database.connections.mysql.database');だけ変更前のrootという結果になっている!!
.envファイルは修正しているのでどうするか分からず調べると、下記のコマンドを入力しマイグレーションすると出来たという記事を発見。
>php artisan config:clear

上記のコマンドを入力を入力し再度tinkerにて変更できているか確認。
変更出来てた！！

````
php artisan tinker      
Psy Shell v0.10.6 (PHP 7.3.11 — cli) by Justin Hileman
>>> config('database.connections.mysql.database');
=> "photos-project"
````

その後マイグレーションを行うとやっと無事にマイグレーション出来ました。

````
 php artisan migrate     
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (54.89ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (57.46ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (49.70ms)
Migrating: 2021_02_02_050953_create_photos_table
Migrated:  2021_02_02_050953_create_photos_table (25.12ms)
`````

最後に
----
プログラミング初心者です。初めてQiitaを書かせていただきました。エラーが解決したのが嬉しくて勢いで記事を書いたので読みにくいと思います。ご了承ください。
自分自身が今後同じことを繰り返さないように今後も継続的に投稿していきたいと思っております。