Edited at

mysqlがどうしても起動しない

More than 1 year has passed since last update.


事象

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!

無事動いた!