カテゴリー
SQL

MySQL+Spiderがクラッシュした際の復活方法

MySQL+Spiderの組み合わせで運用している場合、Spiderノードがメモリ不足によりクラッシュする場合がある。
よくある。とくにシステム構築中のテスト稼働や大量データの移行時、パラメータチューニング中など…。

ところがこれが発生すると、通常のrestartやstop~startが効かなくなる。
sockが無いとか、pid fileが腐ってると言われたりして、まったくMySQL起動しなくなる。

そんな時の解決方法として下記手段を用いているが、それでも復活しない場合もある...。

1.まずはsockファイルを作成

vi /tmp/mysql.sock

内容はブランクでよいので、このまま保存してviを閉じる。

2.pidファイルを作成
pidファイルが無くなっているか腐っている場合が多いので、こちらもブランクのファイルを作成。
パスやpidファイル名は適宜変更。
(startする際にpidファイルに関するエラーメッセージが表示されるので、エラーメッセージに表示されるpidファイル名を利用するとよい)

vi /where/you/install/mysql/data/ip-999-999-999-999.pid

3.上記で作成したファイルの権限を変更

chown mysql:mysql /tmp/mysql.sock
chown mysql:mysql /where/you/install/mysql/data/ip-999-999-999-999.pid

4.mysqld_safeを起動させ、その間にmysqldをスタート
ターミナルを2つ用意して、まずはmysql_safeを起動。

/where/you/install/mysql/bin/mysqld_safe

その間に別のターミナルでMySQLサーバを起動します。

service mysql start

これで起動するときがあります。
それでも無理な時はサーバを窓から投げ捨ててください...。

歴戦のDBAとかではないのでこのような対処療法しか知りません。
どなたか、もっと良い方法をご存知の方は是非教えていただきたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください