MT3 BerkeleyDB ⇒ MySQL 移行
メインで更新しているサッカーブログの方が丸7年書き続けたおかげで試合記録として機能するぐらいに記事が溜まりまして(とは言っても有用な情報は対戦相手と結果,会場,入場者数ぐらいですが)。個別エントリページに関連記事表示があれば過去に同じチームと対戦した時の記事なんかが読めて便利かなと思い,プラグインを入れて過去記事にタグを入れまくっていたらエントリの投稿時・更新時に500エラーが頻発する様になりました。
ググってみるとどうも再構築時に高負荷がかかってタイムアウトしているらしく,お手軽だからと使っていたBerkeleyDBのパフォーマンスに難がある模様。定番の対処方法らしいエントリー・アーカイブ再構築単位の調整をしても改善しなかったのでDBをMySQLに移行しました。
と言う訳で以下作業記録。MovableTypeのバージョンは3.33です。
(1) FTPで全ファイルバックアップ
バックアップは大事。超大事。
(2) 全カテゴリをトップレベルに移動
これが本当に必要な作業なのか判りませんが階層カテゴリになっていると移行に失敗するとの記事を見たので念のため。
(3) ログを全件削除
今回の移行までMTログの存在を知らず,数万件のログが溜まったままDB変換をしたらログの変換中にエラーを吐いて止まったため。件数が多すぎて管理画面から削除しようとしてもエラーになるので http://(自サイト)/mt.cgi?__mode=reset_log に直接アクセスして強制削除。
(4) MT Database Converter でDBをMySQLに変換
標準の mt-db2sql.cgi でも問題ありませんがその場合は事前に mt-config.cgi の修正をお忘れなく。
(5) mt-config.cgiを書き換え
MT Database Converter で変換すると変換結果欄からコピペするだけ。
(6) (2)で移動したカテゴリを元の階層に戻す
で,移行の結果めでたく500エラーは出なくなり快適に更新出来る様になりました。しかし今日日MT3ってのもアレなのでそろそろバージョンアップかなー。