mysqlが起動できない問題に遭遇。
こんな感じでエラーが出てくる。
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/****.pid).
調べてみるとこの事象の解決法に関しては色々なパターンがあるが、
総じて以下の2つっぽい。
- そもそもpidファイルが存在していない。
- pidファイルに適切な権限が設定されていない
私は上記2つの合わせ技だった。
(おそらく1.に当てはまる場合は自動的に2.にも引っかかる)
発生環境&解決策を以下記載。
事象の発生環境
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.4
$ mysql --version
mysql Ver 14.14 Distrib 5.7.21, for osx10.13 (x86_64) using EditLine wrapper
(*)mysqlはbrew経由でinstall(brew install mysql)
解決策
"1. そもそもpidファイルが存在していない"への対応
/usr/local/var/mysql
にpidファイルが無い場合は、
まずpidファイルの作成が必要。
空ファイルで良いので、とりあえず適切な名前のpidファイルを作ってやればOK.
$ touch /usr/local/var/mysql/*****.local.pid
*****には マシンのホスト名 を入力。
ホスト名はuname -n
で確認できる。
参考
https://qiita.com/nishina555/items/4d0149a1b20079d4b8b4
https://qiita.com/yuki0208/items/1d5554d98e9ec76084bd
"2. pidファイルに適切な権限が設定されていない"への対応
pidファイルはあっても、mysqlに権限が無いとエラーになる様子。
以下のコマンドで、
/user/local/var/mysql以下のファイルの所有者をすべて_mysqlにすることで解決。
sudo chown -R _mysql:_mysql /usr/local/var/mysql/
参考
https://qiita.com/mogetarou/items/e34ca51d3756d55d7800
それでもダメな場合
mysqlの再インストールでなんとかなる、らしい。
参考
https://qiita.com/_natsu_no_yuki_/items/ae4c94187093e4ab3cdc