Dragon Arrow written by Tatsuya Nakaji, all rights reserved animated-dragon-image-0164

ソケット地獄のmysqlエラー ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

updated on 2018-12-16

イメージ

エラー内容 

$ mysql -u root -p
Can't connect to local MySQL server through socket '/tmp/mysql.sock'

となり、サーバーを止めることもできずstartもできず全ての動作がいきなりできなくなりました。


ググると 

/usr/local/etc/my.cnfを

[mysqld]
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock

として

/usr/local/etc/php/php.iniを

pdo_mysql.default_socket = /tmp/mysql.sock

mysqli.default_socket = /tmp/mysql.sock

mysql.default_socket = /tmp/mysql.sock


ソケットは /tmp/mysql.sock  か /var/mysql/mysql.sock で統一しろと書かれているけど結局ダメ。


$ sudo touch /var/lib/mysql/mysql.sock
$ sudo chown mysql:mysql /var/lib/mysql

でファイルと権限を復活させろとか書かれてたけどそれもだめ。


以下の方法で

やっと地獄から抜けました。これはメモっとかないと地獄再来はごめん💦


$ cd /usr/local/var
$ ls -ll
drwxr-xr-x    4 nakajitatsuya  admin    128  9 20 17:03 homebrew
drwxrwxr-x    3 nakajitatsuya  admin     96  8 21 11:16 log
drwxr-xr-x   204 _mysql         _mysql  6528 12 16 09:21 mysql
drwx------   15 nakajitatsuya  admin    480  9 20 16:52 postgres
drwxr-xr-x    3 nakajitatsuya  admin     96  6 15  2018 run
$ sudo chown nakajitatsuya:admin /tmp/mysql.sock
$ ls -ll
drwxr-xr-x    4 nakajitatsuya  admin   128  9 20 17:03 homebrew
drwxrwxr-x    3 nakajitatsuya  admin    96  8 21 11:16 log
drwxr-xr-x  209 nakajitatsuya  admin  6688 12 16 09:22 mysql
drwx------   15 nakajitatsuya  admin   480  9 20 16:52 postgres
drwxr-xr-x    3 nakajitatsuya  admin    96  6 15  2018 run


よし

$ sudo mysql.server start
Starting MySQL
SUCCESS! 

成功!!

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.12 Homebrew


Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> 

成功!!治ったーーーーーーー!!!