ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

MySQL 起動しない : The server quit without updating PID file

mysql.server start
すると、

ERROR! The server quit without updating PID file (/usr/local/var/mysql/nekonenene-MacBook-Pro.local.pid).
とエラーが。

なぜだ。
原因はわからないけど、

sudo chown -R nekonenene:wheel /usr/local/var/mysql

で解決しました。
あ、nekonenene のとこはもちろん使用しているユーザー名に切り替えてくださいね。

(参考 : mysql起動で「The server quit without updating PID file」


***追記 (2016/11/06)***
当時の私は原因がわからなかったようですが、
解決方法から推測するにこれの原因はおそらく

/usr/local/var/mysql/nekonenene-MacBook-Pro.local.pid

のオーナーが root (root:admin)であることです。

mysql.server start

とコマンドを打った場合、これはユーザー nekonenene として実行されますので、
/usr/local/var/mysql/nekonenene-MacBook-Pro.local.pid
への編集権を持っていません。

ですから、ユーザー root として実行するよう

sudo mysql.server start

として実行するか、上に書いた /usr/local/var/mysql ディレクトリ以下にあるすべてのファイルの所有者設定を変えることで解決します。

/etc/my.cnf の設定によっては

sudo chown -R mysql:mysql /usr/local/var/mysql

とコマンドする必要があるかもしれませんが、それよりは

sudo chown -R nekonenene:wheel /usr/local/var/mysql

とコマンドすることで動かせるようになる my.cnf の設定にしたほうが、のちのち困らなくておすすめです。

つまり、my.cnf の設定で

[mysqld]
user = mysql

と書いてしまうよりは、書かないか、 user = nekonenene とユーザー名を指定したほうがいいと思います。

my.cnf の記述は、以下のような文字コードの設定くらいで充分である場合が多いかと思います。