InnoDB: Error number 5 means 'Input/output error'.
topへ
おすすめ記事
emyuu cms Freebsd12.0LAMP Freebsd10.0LAMP

2015-09-13 10:59:09

InnoDB: Error number 5 means 'Input/output error'.

mysqlが突然動かなくなったのよー、

原因は電源がぶっ壊れたから。

さあどう治すか。

最近半年ほどサーバーいじってないからぼーぜんと見つめる所からはじめる。

ここを見て顔面蒼白になってるあなた。

DBの破損は突然やってくるんですよー。raidなんてしてても無駄。

まずは落ち着いて深呼吸。あせると取り返しがつかなくなる。

さてmysqlが起動しないんだけどどうしよう。

とりあえずエラーログみようか。

InnoDB: Error number 5 means 'Input/output error'.

なんぞこれ、検索してみるとHDDの故障、SSDなんだけどもね~

なんかファイルがぶっ壊れてて起動できないらしい。

そこのあなたバックアップ定期的にとってる?

できたら全バックアップのがいいかも。

こういう電源落ちたり中途半端にぶっ壊れたときは運よくないと個別ファイル以外に

制御系も壊れるみたい

まず、

dbが格納されてるdbフォルダをコピーしてみた。

cp -pr data data2

おや?破損してコピーできなかったファイルがある。

これが犯人じゃんということで、バックアップ用サーバーからそのファイルだけを

転送してみた

起動しない。。。。。

ほかにも壊れたみたいってことで、ここで2つの方法が考えられる。

スレーブをマスターにしてマスターをスレーブサーバーにする。

極力、壊れた時期に近いファイルに戻せるが、そもそも中途半端に動いてる時期の

データもスレーブにいってしまうかも、後で又止まると嫌だ、

一日に一回ALLバックアップしているデータを使うことにした。

そもそも個人のサーバーに預金なみに失われて困るデータはない。

dataフォルダを一回全部けして、

scripts/mysql_install_db --user=mysql

から初期化

パスワードを登録して、サーバーを起動してみる。

当たり前だが初期値で動いた。

何もデータがないので、数時間前の全データにリストア。

なんとか元に戻った。

ここも含めて。