事象
mysql使って作業している最中、Macが突然シャットダウン。
スタートできない
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXXXXX.local.pid).
のエラーが出るようになってしまった。
PIDファイルをチェックしてみると
$ ls -la /usr/local/var/mysql/XXXXXXXX.local.pid
ls: /usr/local/var/mysql/XXXXXXXX.local.pid: No such file or directory
ファイルが存在しなかった。これは困る
stopもできない
ちなみにstopはstopでこれもできなくなってしまっている
$ mysql.server stop
ERROR! MySQL server PID file could not be found!
セーフ起動もできない
$ mysqld_safe
2017-06-24T08:14:13.6NZ mysqld_safe Logging to '/usr/local/var/mysql/XXXXXX.local.err'.
2017-06-24T08:14:13.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2017-06-24T08:14:14.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/XXXXXXX.local.pid ended
と出て、結局何も起きない
PIDファイルを自分で作って、chmodやchownも試したが、実行結果は変わらず
$ sudo chown _mysql:_mysql /usr/local/var/mysql/XXXXXX.local.pid
所有権を変えたり、chmodで誰でも書き込めるようにしたり、sudoからmysqlを立ち上げたりとしたけど何をしても変わらず。
Macを再起動してもダメ
しょうがないので再インストール
DBの中身はたいしたことないので、まずアンインストール
$ brew uninstall mysql
ここで気づいたのが、アンインストールした時
/usr/local/bin/mysql
はなくなるが、
/usr/local/var/mysql
の方はそのまま残っている。
ひとまずそのまま再インストール
$ brew install mysql
すると…
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXXXXX.local.pid).
また同じだ!何も変わってない
/usr/local/var/mysql も削除
仕方ない、こちらも削除。DBの実体なんかも含まれているが、丸っと削除(データが無くなると困る場合は、DBと同名のファイルを退避させるなど)
$ sudo rm -rf /usr/local/var/mysql
$ brew uninstall mysql
$ brew install mysql
で、試してみると…
mysql.server start
Starting MySQL
SUCCESS!
無事動いた!