Laravel MAMPの設定からmigrateまでの手順 [忘備録]

##環境
・PHP 7.4.9
・Laravel 6.19.1
・MAMP 5.7
##MAMPをインストールし、Webブラウザを立ち上げる
MAMPをインストールし、起動する。
[MAMPインストールページ](https://www.mamp.info/en/mac/)

起動後、「⌘ + ,」を入力し、Preferenceを立ち上げる。
Portsタブを選択し、「Apache Port」と「Nginx Port」を80、「MySQL Port」を3306に変更する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/f7a7571b-f6ae-99d0-c0e9-d1af7eb09136.png)
OKを選択し、次はMAMPの「Start Servers」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/fcab7bde-ee99-bbbf-5e37-c5b5d9b2ed2b.png)
サーバーが立ち上がると、MAMPのWebページトップに遷移する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/31cd1919-f274-5273-183d-751c8c85b44b.png)
「TOOLS」タブを選択し、「PHPMYADMIN」を選択する。

##データーベース設定を行う
ここから本題のデーターベース設定に移っていく。
まずはデフォルトでは英語の設定になっているので、日本語に設定を行う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/62af46ad-6804-6327-6515-a28132223ea0.png)
次に左のサイドメニューから「新規作成」をクリックし、データーベースを作成していく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/0041a198-fbe8-a870-e5fc-5153afb57fc6.png)
データーベース名を入力し、「作成」をクリックする。
入力したデーターベース名で、左サイドメニューに新規作成されていれば上手くいってます。
次はデーターベースユーザーの作成を行っていきます。

##データベース ユーザーの作成
先程作成したデーターベースを選択し、画面右上に表示されているタブの「特権」を選択する。
下に「ユーザーアカウントを追加する」とあるので、クリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/ccb5660c-369b-31ca-8caa-7398c437bd54.png)
ログイン情報の設定を行う画面に遷移するので、「ユーザー名」と「パスワード」を任意で設定し、
ホスト名を「%」→「localhost」に変更する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/10516197-0360-dfad-9f56-dd33e177e632.png)
ページの下の方にいくと、「Check all」とあるので、チェックを入れる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/f2a5db9a-58ee-37f0-7112-9e2a0e54fb7f.png)
右下の「実行」をクリックすると、ユーザーが新規作成される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/cb5556bd-0c58-b8ce-0914-3a0488bfb8c8.png)
改めて新規作成したデータベースを選択 -> 「特権」をクリックし、作成したユーザーが表示されていればOK。
MySQL側の設定はこれで完了。

##Laravel データベース設定
VSCodeなどのエディタを使い、環境設定ファイル(.envファイル)を開く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/d1623674-a6a3-f882-5ec5-23c76cb4240b.png)
画像に基づき、必要な情報を入力していく。(下記参考例)

```
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=test_user
DB_PASSWORD=test12345
```

##database.phpの設定。
次に、データベース設定ファイル( config > database.php )を開く。
46行目あたりから、mysqlの設定が記載されているので移動してください。

```
'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],
```

デフォルトでは`'unix_socket' => env('DB_SOCKET', ''),`となっているのでここを

```
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
```
に変更する。
この設定を行わないと、`$ php artisan migrate`コマンドを入力した際にエラーが発生する。(下記参照)

```
[PDOException]SQLSTATE[HY000] [2002] No such file or directory
```

##php artisan migrate 実行
ここまでの手順を踏み、ターミナルでmigrateコマンドを入力する。

```
$ php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_18_19_000000_create_failed_jobs_table
```

このような表示がされれば上手くいっています。
念のため、MAMPのWebページに戻り、新規作成したデーターベースを確認してみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605741/8af710e5-2be6-156f-4e11-6fa1fa23735c.png)
このように、テーブルが3つ作成されていれば問題ないです。
今回は以上になります。