0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

mysql:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) を解決した時の方法

Posted at

mysqlがある時から急に使えなくなり、復旧するのに2週間近くかかったので、その突起の解決方法を
記述する。

最初のエラー → sockファイルが必要だった。

$ mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

下記記事の通りmysql.sockファイルがないというエラーらしい。
私は記事のコマンドをそのまま実行した。
https://qiita.com/carotene4035/items/e00076fe3990b9178cc0

具体的にはtouchコマンドでmysql.sockファイルを作成し、権限も与えたが上手くいかなかった。
(後で見返したらmysqlとは関係ないディレクトリ上にmysql.sockファイルを作っていた。)

その後、記事の通り、$ sudo mysql.server restartを実行すると異なるエラーが出てきた。

次のエラー → pidファイルが必要だった。

$ sudo mysql.server restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.local.pid).

どうやら

1.そもそもpidファイルが存在していない。
2.pidファイルに適切な権限が設定されていない

ことが原因らしい

次は下記記事を参考にtouchコマンドでpidファイルを作成した。
https://qiita.com/jonakp/items/477a18d4a94c01a31583

$  touch /usr/local/var/mysql/ローカル名.pid

補足:ローカル名の調べかた↓
$ uname -nローカル名

これまたよく見ると、作成場所を間違えていた。
そのため、実行結果は同じであった。

$ sudo mysql.server restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.local.pid).

mysqlの関係ファイルの全削除

その当時もういっそのこと削除しても支障がないDBしかなかったので、一度mysqlの関係ファイルを削除して再インストールするのが一番早いのではないかと思った。

そう思って下記記事を参考にした。
https://qiita.com/ryo_saito_k/items/7d8f5370899df125d459
今度はしっかりとmysqlのディレクトリに移動した。

cd /usr/local/var/mysql

そうして記事の通り関係ファイルを一つずつ消していった。

$ sudo rm -rf /usr/local/mysql
$ sudo rm -rf /Library/StartupItems/MYSQL
$ sudo rm -rf /Library/PreferencePanes/MySQL.prefPane
$ sudo rm -rf /Library/Receipts/mysql-.pkg
$ sudo rm -rf /usr/local/Cellar/mysql*
$ sudo rm -rf /usr/local/bin/mysql*
$ sudo rm -rf /usr/local/var/mysql*
$ sudo rm -rf /usr/local/etc/my.cnf
$ sudo rm -rf /usr/local/share/mysql*
$ sudo rm -rf /usr/local/opt/mysql*

この時点でbrew lsを実行してもインストールしたbrewからmysqlが消えていた。

mysqlの再インストール & sockファイルの再作成

その後、mysqlの再インストールを実行した。

 $ brew install mysql@5.7

そして、これで上手くいくはずだと思い、mysqlを実行した。だが、、、

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

ここで、ようやく私は別のディレクトリに関係のないファイルを作っていたのか!!!
ということに気がついた!!

今度こそ、mysqlのディレクトリに移動してtouchコマンドでsockファイルを作成した。

$ cd /usr/local/var/mysql/

$ sudo touch ローカル名.pid

mysqlの復活!!

そのおかげで、無事に再びmysqlを利用できるようになった。

 mysql.server start
Starting MySQL
. SUCCESS! 

mysqlは初期設定のままなので下記コマンドで実行できた。

mysql -u root

皆さんにはディレクトリの違いい気をつけてエラーを解決してほしい!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?