Posted at

macOSのコマンドラインでphpからMAMPのMySQLに接続しようとすると[2002] No such file or directory

NetCommos3をcomposerでインストール · NetCommons3/NetCommons3 Wiki を参考にしながら macOS のコマンドライン上でNetCommons3をインストールしてたら、DB作成の時点で

Error: SQLSTATE[HY000] [2002] No such file or directory

Error: データベースが作成できませんでした。

となってしまいました。

なぜこうなるかというとMAMPを入れてるとはいっても、コマンドラインで動くのは macOSにデフォルトで入ってるPHPだから。

MAMPのMySQLのソケットの場所は /Application/MAMP/tmp/mysql/mysql.sock

それに対して macOS のPHPが参照する MySQLソケットの位置は /var/mysql/mysql.sock

それで /var/mysql/mysql.sock が見つからないということで "No such file or directory" になってたわけです。

というわけで下記を実行してシンボリックリンクをつくることで解決できました。

sudo mkdir /var/mysql

sudo ln -s /Application/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock