Python日記

【MySQL】ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'の対処法

2020年6月28日

MySQL EROOR2002 接続エラー解消の巻
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
お悩みさん

MySQLに接続をしようとしたら、思わずこんなエラーがでてきた!

この記事では、こんな悩みに答えて対処法をまとめています。

この記事で学べること

  1. ERROR 2002(HY000)のエラー対処法
  2. mysql.sockの削除
  3. MySQLのエラーログのチェック方法

環境

OSMac 10.15.4
Pythonpython 3.9
仮想環境Poetry
Homebrew8.0.19 Homebrew

エラーの対処法(失敗だった方法)

エラー対策として、killコマンドで処理を試してみます。

ps aux の実行

まずは以下のコマンドを実行します。

ps aux| grep mysqld

6308と表示されました。(6308は一定ではないので、その場ごとの数字が表示されるはずです。)

6308 49.5 2.6 4560400 214072 ??

Killの実行

先に表示された、6308をkillします。

sudo kill -9 6308

本来であれば、これでクリアできるはずですが、再度スタートしてみましたが、エラーがでました。

エラーの対処法(成功した方法)

実際には、以下の手順でエラーをクリアすることができました!

エラーログのチェック

エラーログをチェックします。

xxxnoiMacの部分は、それぞれのユーザー名を入れてください。

tail -f /usr/local/var/mysql/xxxnoiMac.local.err

以下の表示がでてきました。

2020-05-17T05:16:06.585346Z 0 [ERROR] [MY-010270] [Server] Can't start server : Bind on unix socket: Address already in use
2020-05-17T05:16:06.585586Z 0 [ERROR] [MY-010258] [Server] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
2020-05-17T05:16:06.586100Z 0 [ERROR] [MY-010119] [Server] Aborting

mysql.sockの削除

どうやら、/tmp/mysql.sock  が問題らしい。ので、mysql.sock 削除します。

rm /tmp/mysql.sock

しかし、拒否されてしまいます。

rm: /tmp/mysql.sock: Permission denied

今度は、以下の方法で無事に削除してみます。

sudo rm /tmp/mysql.sock
解決さん

このコマンドで無事に削除できました!

MySQLをリスタートして確認

最後にリスタートして確認してみます。

mysql.server restart

やった!無事に成功しました!

Starting MySQL
. SUCCESS!

まとめ

この記事では、以下のエラーの対象方法をお伝えしました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

この記事で学んだこと

  1. ERROR 2002(HY000)の対処法
  2. mysql.sockの削除
  3. MySQLのエラーログのチェック方法

MySQLのエラーログをチェックする方法

tail -f /usr/local/var/mysql/xxxnoiMac.local.err

は、いろいろ使えそうなので、ぜひ覚えておきましょう。

関連記事

MySQLを始める最初の一歩を踏み出すなら、この記事!

-Python日記
-, ,