web-dev-qa-db-ja.com

停電しました。これで、MySQLのロックファイルはなくなりません。何を指示してるんですか?

カナダのトロントだけでなく、世界中のさまざまなクライアントのためにフリーランスのITコンサルティングを行っています。

クライアントで最近電源障害が発生しました。現在、DNSサーバーとしても機能するSlackware 12.0.0マシンでさまざまな問題が発生しています。

1つの問題は、phpMyAdminにログインできないことです。

MySQLを停止して再起動してみました。しかし、MySQLが停止しても、ロックファイルはそのまま残ります。

jasonspiro@cybertron:~$ Sudo /etc/init.d/mysql stop 
Shutting down MySQL. SUCCESS! 
jasonspiro@cybertron:~$ Sudo /etc/init.d/mysql stop
 ERROR! MySQL manager or server PID file could not be found!
jasonspiro@cybertron:~$ Sudo /etc/init.d/mysql status
 ERROR! MySQL is not running, but lock exists
jasonspiro@cybertron:~$ ls -l /var/lock/subsys/mysql 
-rw-r--r-- 1 root root 0 2012-07-05 16:18 /var/lock/subsys/mysql

MySQLが実行されていないにもかかわらず、MySQLのロックファイルがハングアップするのはなぜですか?

MySQLを停止し、ロックファイルを削除して、MySQLを再起動することはできますか?

次にすべきことは他にありますか、それとも何もありませんか?

EDIT:この質問をしてしばらくして、 このマシンにMySQLをインストールする方法が不安定に見える に気づきました。また、/etc/init.d/mysqlこのマシンで見つけたスクリプトは、MySQLの起動時に常にロックファイルを作成し、MySQLを停止したときにファイルを削除することはありません。したがって、この質問は私には無関係であることがわかりました。ありがとうございます。この質問に対する回答はこれ以上必要ありません。

6
jasonspiro

実行:ls -al /var/lock/subsys

mysql.pidを探します。それを削除します。存在する場合は、mysql.sockも削除します。

他のすべてが失敗した場合、[ルートとして] updatedb ; locate <filename>を使用します。これはこのような状況でのあなたの友達です。

Initスクリプトを使用してMySQLを再起動してみてください。それが機能しない場合は、データベースの適切なバックアップからデータベースチェックポイントに復元します。

データベースのバックアップが存在しない場合:dd ASAPを使用してこのディスクのクローンを作成します。一部のハードコア回復手順を使用する必要がある場合があります。 MySQLサービスが再び起動した場合でも、念のため、しばらくの間、最もよく知られているバックアップを保存してください。

10
Mike Pennington