• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

たぽのブログ一覧

2021年08月14日 イイね!

本家ブログのDBがぶっ壊れた

本家ブログのDBがぶっ壊れた

たまたまその日のうちにすぐ気づいたけど、本家ブログのWordPressのDBであるMySQL(MariaDB)が突然壊れてた。何気なくスマホで自分のブログのページを表示させようとしたら、こんな画面。「データベース接続確立エラー」とな。orz





MySQLやOS(Raspbian)のアップグレードでしくじって起動しそこなうことはこれまでも時々あったけど、今日は何もしてないのにな…。ディスクパンクとかかなあ?





と思いながらログを漁ってみると、今日の19時ごろから突然、/var/log/mysql/error.logにこんなログが繰り返し出力されていた。





<pre class="wp-block-code">2021-08-14 19:00:48 3 [ERROR] [FATAL] InnoDB: InnoDB is trying to free page [page id: space=0, page number=20603] though it is already marked as free in the tablespace! The tablespace free space info is corrupt. You may need to dump your tables and recreate the whole database!Please refer to https://mariadb.com/kb/en/library/innodb-recovery-modes/ for information about forcing recovery.
210814 19:00:48 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.

To report this bug, see https://mariadb.com/kb/en/reporting-bugs

We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

Server version: ・・・(以下略
</pre>



なんかバグを踏んでDBファイルが壊れた的な?DBを丸ごとダンプ&再作成しろと…。





うーむ、これは結構深刻な状況か?





最近バックアップサボってたけど最新のバックアップはいつのだっけ??と思って掘り起こしてみると、2018年末だと!?Σ( ̄ロ ̄lll)





最悪の場合、みんカラ側から手動でコピペか…。2年半分もやってられるか!((((;゚Д゚))))





ビクビクしながらリカバリ手順をググってみると、日本語ではここここの情報がヒット。これらの手順を組み合わせて復元にトライだ。





  1. MySQLのサービスを停める
    # service mysql stop
  2. datadir (/var/lib/mysql) を一応バックアップ
    # cp -a /var/lib/mysql /var/lib/mysql_20210814
  3. /etc/mysql/my.cnfを書き換えてInnoDBを強制リカバリモードにする
    ※innodb_force_recoveryは緊急時のみ0より大きい値にする。4以上にするとデータファイルが壊れることがあるので少しづつ上げること。




<pre class="wp-block-code">[mysqld]
innodb_force_recovery = 2
</pre>



  1. MySQLを強制リカバリモードで起動
    # service mysql start
    ※innodb_force_recovery=1では起動しなかったが2にしたら起動した。
  2. 全データベースをダンプ
    # mysqldump -u root -p -x --all-databases > alldatabase.dump
  3. MySQLをシャットダウン
    # service mysql stop
  4. mysqlフォルダを除くすべてのデータファイルを削除
    # rm -rf `ls -d /var/lib/mysql/* | grep -v "/var/lib/mysql/mysql"`
  5. MySQLを再起動
    # service mysql start
  6. ダンプファイルをリストアする
    # mysql -u root -p < alldatabase.dump
  7. mysqlフォルダに残ったいくつかのファイル(*.ibd)がバッティングしているようでリストアできないようなので、/var/log/mysql/error.logのメッセージに従って該当のファイルを削除する。今回削除したのは多分、gtid_slave_pos.ibd, innodb_index_stats.ibd, innodb_table_stats.ibd
  8. リストア(上の9.)が正常終了したらOK




こちらのページの最後に書かれてた「教訓」はまさにその通り(汗)。今のサーバにしてからやってなかったけど、また定時バックアップのcronでも仕込んでおくか…。





それからこっちのページによると、原因はハードウェア起因ってことらしいので、そろそろサーバのSDカードを入れ替えるべきなのかなあ。。。さかのぼってみたら、このサーバを作ったのは約4年前のようだが、前のサーバのSSDが5年で死んだことを思えば、そろそろってことかな。一応書き込み頻度を抑える工夫はしてるが、SSDじゃなくて普通のmicroSDカードだもんな…。


Posted at 2021/08/15 01:41:15 | コメント(0) | トラックバック(0) | パソコン/インターネット

プロフィール

「@morly3 意外と何とかなりますよ(笑) ウチの玄関にも12tプレスありますし、某変態セリカ乗りはボルボで20tプレス持ち運んで来ますし(爆)」
何シテル?   06/29 23:33
カレン(ST206/3S-GE VVT-i)で夫婦でサーキット走行してます. 本家はこちら https://www.tapoblog.0t0.jp/ ...
みんカラ新規会員登録

ユーザー内検索

<< 2021/8 >>

123456 7
8910 111213 14
151617181920 21
22232425262728
293031    

リンク・クリップ

[ホンダ S660]craft square ツーリング コンペティション(TC) ミラー 
カテゴリ:その他(カテゴリ未設定)
2025/04/04 10:59:51
クセのあるクラッチを自然にしたい!(その1 ) 
カテゴリ:その他(カテゴリ未設定)
2025/02/08 01:57:58
86/BRZ ハブボルトスプライン舐めナット空回り、ホイール外せず修理 
カテゴリ:その他(カテゴリ未設定)
2024/08/04 15:51:22

愛車一覧

スバル BRZ 3号機(RAエアコン号) (スバル BRZ)
1号機から2号機へのエンジン載せ換え中の足として購入(嘘 エアコン万歳!
トヨタ カレン たぽカレン2号機 (トヨタ カレン)
1号機復活のための部品取り車として、車検切れ間際のこの車を、知人から格安で購入。 しかし ...
トヨタ カレン たぽカレンVVT-i (トヨタ カレン)
カレンってパーツ少なくて苦労しますなぁ(笑). 3S-FEから3S-GE VVT-i(通 ...
トヨタ スプリンターマリノ トヨタ スプリンターマリノ
親の車を譲り受けたけど,東海豪雨で水没したかわいそうな車.
ヘルプ利用規約サイトマップ
© LY Corporation