SQLSTATE[HY000] [2002] Connection refused
データベースへの接続が拒否された場合に発生するエラー
概要
SQLSTATE[HY000] [2002] Connection refused は、LaravelからMySQLなどのデータベースに接続できない場合に発生するエラーです。データベースサーバーが起動していない、接続設定が間違っている、ネットワークの問題などが原因です。
エラーメッセージ
SQLSTATE[HY000] [2002] Connection refused
SQLSTATE[HY000] [2002] No such file or directory
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost'
原因
- データベースが起動していない: MySQL/PostgreSQLサービスが停止
- ホスト名の誤り:
localhostと127.0.0.1の違い - ポート番号の誤り: デフォルトポートが異なる
- 認証情報の誤り: ユーザー名・パスワードが間違っている
- ソケットファイルの問題: Unixソケットのパスが違う
- Dockerのネットワーク問題: コンテナ間の通信設定
解決策
1. データベースサービスの確認
| |
2. .env ファイルの設定確認
| |
| |
3. localhost と 127.0.0.1 の違い
| |
4. Unixソケットの設定
| |
| |
5. Docker での設定
| |
| |
6. データベースの作成
| |
7. Laravel のキャッシュクリア
| |
8. ファイアウォール・ポートの確認
| |
9. MySQL のバインドアドレス
| |
| |
デバッグのコツ
接続テスト
| |
Laravel での詳細エラー
| |
環境変数の確認
| |
Laravel の他のエラー
この記事は役に立ちましたか?