2011年9月14日水曜日

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

表題の通りのエラーが出て動かなくなったんだけど、下記のページを参考に作業してもいっこうに直らない。
ちなみに起動自体は最近までちゃんと出来てて、インストールした方法は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時間くらいこれで止まった。。

0 コメント:

コメントを投稿