質問: 少し前まで XAMPP を利用していましたが、MySQL を homebrew でインストールし、`brew services stop mysql` コマンドの後、`mysql -uroot` で接続した際に以下のエラーが出ました。 ``` ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' (2 "No such file or directory") ``` このエラーは `sudo touch /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock` することで解決したのですが、その後 `mysql -uroot` すると以下のエラーに変わりました。 ``` Can't connect to local MySQL server through socket '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' (38 "Socket operation on non-socket") ``` .local.err ファイルなど確認したのですが、解決できないので質問させていただきます。 エラーの原因はなんなのでしょうか? `mysql` コマンドを打った時に、XAMPP の方に繋がろうとしてるのが原因なのでしょうか? 開発環境に関して無知で、情報不足な質問かもしれませんが、解決策またはヒントをいただけると幸いです。
回答: 初めの"mysql.sockが見つからない"に対して `touch` でファイルを作成するのは間違いかと思います。 socketファイルはプロセスが作成する特殊なファイルなので、`touch` コマンドを使って手作業で作成してしまうのは適切な対応ではありません。 もし既存のXAMPP環境も残っているのであれば、`mysql`はXAMPPとhomebrewどちらで入れたものを参照しているのか`which mysql`などでパスを確認してみてください。 homebrewでのインストール後に「`brew services stop mysql`を実行した」とありますが、こちらも本来ならXAMPPでインストールしたものを止めるべきで実行するコマンドが違う気がします。 混乱を避けるためにも、可能であれば既存のXAMPPでインストールしたMySQLは一旦アンインストールされた方がよいのではないでしょうか。