※この記事は臨時ブログに掲載していたものを2019年12月28日 1:45に移動したものです。
Apacheの更新をするためのメンテナンスをしたつもりが、終わらないメンテナンスになってしまいました。
これには原因があるので順を追って説明。
Apacheの更新は「公式サイトからWindowsバイナリをDLできない(要検証)」というくっそ面倒な仕様があります。
なので、仕方なくxamppをDLしてそいつを上書きするという非常に非効率的で危険な作業をしています。
で、今回調子に乗ってMySQL(MariaDB)も更新しようと思って、いくつか危なそうなファイルを省いて上書きしたのですが…
ここからはパニックで流れがうまく思い出せない。
適当に言うとInnoDBのエンジンがぶっ壊れたようで、ログにもテーブルがDBエンジンから見つからなかったようなメッセージが出ている。
絶望しながら半道橋ラウワンのスポッチャに行って(現実逃避)、その帰りに東比恵のジョイフルでご飯を食べた後にしばらく対処法を調べていたら、.frmファイルと.ibdファイルが無事ならDDL生成ができて、さらにそこからどうたらこうたらしたら復活できるらしいということが判明。
後日その記事を参考に復旧する予定です。今週はそっちに時間が消えるのか…
(今回の破損はInnoDB自身が持つテーブル一覧からテーブルが消えるタイプの故障っぽい。だから抽出したDDLで同一名称のDB/テーブルを作って、InnoDBが持つテーブル一覧にテーブルの存在を登録。そこにfrmとibdファイルを上書きして状態を戻すという理屈?)
もうWeb系はWindowsネイティブじゃなくて、Docker上に展開したLinuxで動かすべきなんでしょうね…
Windows10 ProにしたからHyper-V系の仮想環境動かせるんだし。