mysql接続時のerror[2002]について

XAMPPを用いてApachemysqlを使ったWebアプリケーションを自作しているのだけれど、SQLサーバーに接続したいのに出来ない、みたいな状態になったので解決方法を記したい。ちなみに、接続できない原因は、そもそもmysqlが起動していないためであった。



原因

主な原因としては、xamppで起動したいmysqlの他に、別のmysqlが動いているために、xamppの方のmysqlをアクティブにできないことが挙げられる。mysqlをアクティブ(起動)にできないので、接続できるはずがない。そのため、mysqlの再起動時に、このようなエラーが現れたと考えられる。



解決方法

次のコマンドで、別のmysqlが起動しているかどうか確認する。
ps aux | grep mysql
すると、私の場合は、以下のように1206(プロセス番号)が起動していることがわかる。

次のコマンドでプロセスを停止する。
kill 1206
そして再度psコマンドを実行すると、以下の画像のようにmysql(1206)が消えていることがわかる。

これで、mysql.serverを起動することが出来るようになる。



余談

私の場合、Hack The Box でmysqlコマンドを扱うので、そのためにmysqlをインストールしていた。それが動いていたために、xamppのmysqlを起動できなかった。