半農半エンジニアの記録

関西在住エンジニア。個人で勉強・開発したこと、その他趣味のことを書いてます。農業してます。

MySQLで「SQLSTATE[HY000] [2002] No such file or directory」となってハマった時の対処

MySQLのエラーログ

MySQLの設定してたら、こんなエラーに遭遇しました。

PHP message: PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in ...

ログ解析

ファイルかディレクトリが無いよ云々。

とは言ってるものの、それらしい名前が出てないから探しようがない・・・。

とりあえずググる

エラー内容そのままググればそれらしいのを書いてくださっている方がいました。

SQLSTATE[HY000] [2002] No such file or directoryが出たときの対処方法

localhost -> 127.0.0.1 にするだけらしい。

原因

「localhost」だとWindowsでは名前付きパイプを使用して接続され、名前付きパイプ接続が有効にされていない場合は、エラーが発生するそうです。 「127.0.0.1」はTCP/IPで接続されるため、エラーが出なくなったというわけでした。

ということらしい。

課題

正直よくわからんけど、自分の環境はクライアントがWindows、サーバーはUbuntuだったので「Windowsでは」ってのはクライアントのことなんかな?

Macだったらlocalhostのままでよかったのか?

調べたら追記する。