はじめに
今回の記事は自分への備忘録用なので説明が省略されていたり、正しくない情報が記載されている可能性もあるため、参考にする際は気をつけてください。
また、可能であればMySQLのバックアップをとっておいたほうがいいです。
エラー内容
「ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)」
や
ERROR! The server quit without updating PID file
試したこと
調べるとよく出てくる記事にはプロセスをkillするなど、pidファイルをtouchコマンドで作成するなど、どれを試しても解決しなかった。
pidファイルは作成してもすぐに消えてしまう。
homebrewでmysqlをアンインストール後再インストールしても解決しない。
実際に解決したコマンド
$ cd /usr/local/var/mysql/
上記ディレクトリに移動すると、XXXXXXX.local.err
のようなエラーログのファイルがあると思います。
lessコマンドで確認する。
$ less XXXXXXX.local.err
すると以下のようなエラーログを発見。
[ERROR] [MY-010270] [Server] Can't start server : Bind on unix socket: Address already in use
[ERROR] [MY-010258] [Server] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
[ERROR] [MY-010119] [Server] Aborting
socket: Address already in use
と書いてあるので、rmで削除する。
$ sudo rm /tmp/mysql.sock
これでMysqlを起動することができ解決しました。