【Laravel】SQLSTATE[HY000] [2002] No such file or directory対処

公開:2020/09/26
更新:2020/09/27
1 min読了の目安(約800字TECH技術記事

初めに

この記事では、

SQLSTATE[HY000] [2002] No such file or directoryと出たときの対処法を共有します。

自分の場合は、パソコンを再起動し、プロジェクトをブラウザで確認するたびにこのエラーが出てきて、この対処法を何回も使い重宝しました(なぜこのエラーがでてくるかは不明です、、、)

実践

まず、MySQLに
mysql -u root -p
でログインをしようとしてください。
おそらく、

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

のエラーが出るはずです。

これはmysql.sockがないことが原因で出るエラーです。(なんらかの理由により、このファイルが消えたので、作成することで、解決します。)

mysql.sockを作りましょう。

$ sudo touch /tmp/mysql.sock

その後、MySQLを再起動しましょう。

sudo mysql.server restart
$ sudo mysql.server restart
 ERROR! MySQL server process #1478 is not running!
Starting MySQL
.... SUCCESS! 

という文字が出たら、再度
mysql -u root -p
を打って、MySQLにログインできることを確認します。
ブラウザで表示を確認すると、先程のSQLSTATE[HY000] [2002] No such file or directoryが消えているはずです。

先述したとおり、私は、パソコンを再起動するたびに、このエラーと戦ってきました。
この原因がわかる方は是非とも教えて下さい。