こんにちは!禄太です!
現在、技術力や知識を深めるために、IT分野の学習を進めています。
プログラミング/Linux/ネットワーク…各分野で学習したこと(手詰まりしたこと)を、備忘録としてまとめています。
以下のエラーに遭遇している方の参考になれば幸いです!
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/*******.pid).
原因と解決策を先に言ってしまうと、
【原因①】PID file が、存在していなかった。
<解決①>PID file を作成する。
【原因②】MySQLの設定で、PID file の場所が正しく設定されていなかった。
<解決②>MySQLの設定画面で、PID fileのパスを正しく設定する。
となります!
前回の以下の記事も参考にどうぞ!
目次
そもそも、PID file とは?
まず、「PID」とは、プロセスIDのことです。
「プロセス」とは、実行中のプログラムのことです。
システムの中では、複数のプロセスが同時に稼働していて、ユーザがコマンドを実行するたびに「プロセス」が生成されます。その後、プログラムが終了すると、プロセスも消滅します。
複数実行している各プロセスについては、プロセスを一意に判別ができるよう、識別番号がわりふられています。
これが、PIDです。
PID file をターミナルで作成する!
HomebrewでMySQLをインストールすると、「/usr/local/var/mysql」のフォルダが出来上がります。
その中に、「*******.local.pid」というファイルがあるか、確認してみましょう。
【①ディレクトリ移動】$ cd /usr/local/var/mysql
【②ファイルの確認】 $ ls
もし、「*******.local.pid」がなければ、以下のコマンドでファイルを作成します。
空のファイルであっても、命名規則に従って作成されていれば大丈夫です。
「ホスト名.local.pid」で作成してあげましょう!
【①ホスト名の確認】$ uname -n
【②PIDfile 作成】$ touch /usr/local/var/mysql/(①のホスト名).local.pid
【参考】mysql 起動時のThe server quit without updating PID file エラーの回避法
ここまでの参考は、Quiitaの「@jonakp」さんの記事でした。
が、私は、この後の権限変更を実行してもダメでした。
->MySQLを泣く泣く再インストールしてもダメ、、、
権限設定以外にも、プロセスを見直すという方法もあるようです。
こちらの記事もご参考に貼っておきます。
【参考】MySQLが起動しない(The server quit without updating PID file ~~~)
MySQLの設定画面で、PID fileのパスを正しく設定する。
もう、全くやる気がなくなっていたのですが、ふて寝したら気持ちがすっきりしたので、次の日に再度原因究明。
->けれど、一向にわからず、、、
色々と探してみた結果、Macのシステム環境設定から設定ができることを知った。
①システム環境設定の「MySQL」を選択
②「Configuration」を選択
しかも、昨日の夜、 「$ sudo chown 〜 」したはずなのに、PIDのところが変わっていない?
③物は試しで、作成したPIDのパスを指定してみる。
④無事に、MySQLが起動する!
だが、原因よくわからん!
とりあえず、権限の設定が変だった。っていうのが分かったのですが、、、。
この辺の原因究明は、また今度でいいかな。
たぶん、「/usr/local/var/mysql」配下のファイル群をの権限を全て、自分に書き換えるとかにすればよかったのだろうけど、今は深追いしないようにしよう、、、。
うん、もう眠いし。とりあえず動いてよかった、、、。