エラー内容
$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
原因
別のデータベースに切り替える際に毎回再起動しないと行けないらしい
解決方法
MySQLの再起動
$ sudo mysql.server restart
もし再起動ができない場合
「プロセスのIDが記録されている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/sample.local.pid)
この場合以下の2つどちらかが原因になるよう
- pidファイルが存在していない
- pidファイルに適切な権限が設定されていない
1. の場合
Macの場合、ホスト名が明示的に設定されていない場合にネットワークが変わるとホスト名も変わってしまうらしい。
解決方法としては下記に記載
// ホスト名を確認(ないよっていわれるはず)
$ sudo scutil --get HostName
// ホスト名の設定
$ sudo scutil --set HostName sample
// sample.local.pidファイルを作成
$ touch /usr/local/var/mysql/sample.local.pid
2. の場合
/user/local/var/mysql以下のファイルの所有者をすべて_mysqlにする
sudo chown -R _mysql:_mysql /usr/local/var/mysql/
※自分のパスは/opt/homebrew/var/mysql
でした。
その他の対応が必要な場合も