“. ERROR! Manager of pid-file quit without updating file.”でMYSQLが起動しなくなった

“. ERROR! Manager of pid-file quit without updating file.”でMYSQLが起動しなくなった

2013-12-24
開発

表題の通りのエラーが出て動かなくなったんだけど、下記のページを参考に作業してもいっこうに直らない。

ちなみに起動自体は最近までちゃんと出来てて、インストールした方法はMacports。



MySQL が “Manager of pid-file quit without updating file.” と表示して起動しなくなった場合の対応 – tomoyamkungの日記


  1. 権限の設定が不適切
  2. MySQL の pid ファイルが残っている
  3. MySQLプロセスが生き残っている
  4. 設定ファイルの記述に誤りがある

1はMYSQLに関するフォルダの権限のことだと思うんだけど正常。そもそも最近まで起動が出来てたのでおかしい訳がない。

となると、4.も特に書き換えてないので消える。


思い当たる節は「mysqlを起動したままシャットダウン」(おい!)とかしてたから「2.と3.」なんだけど、

3をチェックしようと、「ps ax | grep mysql」をやっても、grep mysqlしか出てこない。いま走らせてるコイツ自身が引っかかってる。

最初勘違いしててこれがMYSQLのプロセスだと思ったんだけど、これはgrep自身のコマンドが引っかかってるだけ。

そのため、killで殺そうとしても、殺そうとした時にはもうすでにプロセスが存在しないからエラーになる。

なので、残るは2なんだけどこいつも「find / -name *.pid」とやっても関係のないファイルしか引っかからない。

で、さまよい歩いて

MacportsでMySQLをインストール – WapBox


を見てて、アンインストールの部分で

sudo port uninstall mysql5 sudo rm -rf /opt/local/var/db/mysql5

とやっているのを見て「sudo rm -rf /opt/local/var/db/mysql5 」の部分は何をやってるのかと。

ようするに普通にアンインストールしただけじゃ、dbデータが消えないんですね。

なので、手動で消してあげている訳と。

そういうわけでこれを疑い、なんとなく怪しげな「ib_logfile0、ib_logfile1、ibdata1」を別フォルダに移動してみる。

そして、「sudo mysql_install_db」としてあげる。



で、再度「sudo mysql.server start」。



SUCCESS!!


というわけで、原因は「MYSQLを起動したままシャットダウンした時にDBファイルが壊れた」っぽい。

みなさんはちゃんとMYSQLをシャットダウンした後に、システムを終わらせましょう。



4時間くらいこれで止まった。。