homebrew経由で入れたMySQLを再起動すると複数プロセスが立ち上がる問題
homebrewを使ってインストールしたMySQLに対して以下のような再現性のあるバグがあるようだ。僕のmacだけかと思っていたが、友人も全く同じ現象に遭遇したらしい。
まず、起動中のmysqlサーバを再起動する
$ mysql.server restart Shutting down MySQL . SUCCESS! Starting MySQL . SUCCESS!
正常に再起動できたように見える。しかし、この状態でmysqlに接続しようとしても
$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
と言われる。だが、
$ ls /tmp/ | grep mysql mysql.sock=
ここで、おもむろにps -A | grep mysqlでプロセスを表示してみると、何故かmysqlが2つ起動されている。どうやらシャットダウンに失敗した、ゾンビが残ってしまっているようだ。
この場合ゾンビになっている方のプロセスをkillコマンドで殺してやることで治すことができる。どっちか分からなければ、両方殺せばいい。