コハクウェブデザイン

【解決】Laravel + mampでmysql接続ができない場合の解決方法

mampを使ってLaravelのプロジェクトを開発する時、マイグレーションでエラーが出ることがあります。

 毎回同じことを繰り返して失敗してしまうのでいい加減書き留め様と思います(笑)

エラーの内容はこんな感じ

SQLSTATE[HY000] [2002] Connection refused....

またはこんな感じ

SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tab....

php、Laravel、Composerのバージョンはそれぞれ以下の通りです。
・php: 7.3
・Laravel: 8.20.1
・Composer: 2.0.7

.envファイルを修正する

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=データベース名
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock <-初期設定ではここの行が存在しないので追加

「config」>「database.php」でも 同じようにデータベースの設定ができるのですが、「.env」ファイルに記載がなければ「database.php」の 内容を使用するという感じみたいなので、僕は「.env」しか触っておらず「config」>「database.php」の方は初期設定から変更していません。

はい、では

php artisan migrate

を実行してみましょう。

これでもまだエラーが出る場合は、一度mampを再起動(または「Stop Servers」ボタンを押してから「Start Servers」を押す)して、更にターミナルから

php artisan cache:clear
php artisan config:cache

あたりをやってみるとマイグレーションが実行できるようになると思います。

本当に何回やっても忘れてしまう(笑)