質問: 少し前まで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は一旦アンインストールされた方がよいのではないでしょうか。