種まきびとブログ
  • seedsman.jp
  • 花子と草男のブログ
  • 種まき人ブログ
  • Hanako Mail
2007年10月25日 投稿者: seedsman

MT4.01 移行まとめ

MT4.01 移行まとめ
2007年10月25日 投稿者: seedsman

SQLite ver2 でもヘテムルではダイナミックパブリッシングが使えるということで始めたが、SQLite ver2 ではバキュームという作業をしないとゴミがたまって容量が増大し CGI の動作が遅くなるとわかった。ヘテムル(に限らずほとんどのサーバー)はあくまで「データベースに関するサポートはしない」という前提なのだが、フォームメールでたびたび質問したら SQLite ではこういったことがある(ゴミがたまる)と教えてくれた。

それならそうと、一言マニュアルに書いておいてくれれば SQLite には最初から手を出さなかったのに。。。。(~_~;)
バキュームのソフトもあるらしいが、バージョンが違っていると困るのでいっそのこと MySQL へ移動することにした。そしたらなんとインポートはあっという間に終わり、いままで手こずっていたのが嘘のようだった。(-.-)

SQLite ver2 ではまず最初、全エントリーをインポート直後にエラー頻発。その原因はチェックするうち解明できた。インポート用テキストファイル上で何度もそのエラーを修正して少しずつインポートを進めたが、その際にはインポート済みのエントリーを何度か削除して進めた。ところが、MT 上では削除できていてもデータベース SQLite 上には残ってしまうらしい。そのため、サーバーにある sqlite ファイルのサイズを確認してみると14MBにもなっていた。そのせいで再構築やその他管理画面の表示が著しく遅くなってしまったのだ。

結果から言って SQLite var2 で MT を動かす場合はほとんど修正がない状態のインポートならいいが、たくさんの修正や削除がある場合には向かないということだ。(MySQL には Myphpadmin という管理ツールがサーバーにあるが SQLite にはない) 私の場合はインポートボタンをせっかちに数回押したため、その回数分エントリーが重複してしまったので削除したし、スタティックからダイナミックに変更とかスタイルシートやテンプレートの修正、スタイルキャッチャーで変更もしたのでごみもずいぶんと溜まっていたらしい。

MySQL でやり直すと、2200件以上エントリーがあるブログは10数秒で、500件以上あるブログのほうはほんの2-3秒でインポートは完了した。もっともこのときには SQLite ver2 で一度作成したブログからのエクスポートなので MT4.01 から MT4.01 へのインポート、おまけにエラー修正済みだったということもある。

エラー原因のいくつか

  • SQLite ver2 で何度もインポートしたためゴミがたまり、CGIの動作が著しく遅くなった。インポートボタンは1回押すだけにしてエントリーの削除や修正は極力避けたい。MySQLが使える環境なら面倒がなくてその方がベスト。
  • 以前のMTのバージョン3.21ja で使っていたエントリー編集支援タグで MT3.21ja の .tmpl を自分で書き換えて使っていた。そのため、書き加えた <blockquote> や <font> タグを使っていたエントリーで Smarty error 表示となった。エラーのエントリーで編集画面を確認すると「フォーマット:なし」になっていたのでそれを「フォーマット:改行を変換」に変更したら解決。
  • php.ini の設定で以下をUTF-8にする。
    default_charset
    mbstring.internal_encoding
前の記事Clematis heracleifolia 'China Purple'次の記事 Anomatheca laxa 秋から生長開始

月別アーカイブ

Rife WordPress Theme ♥ Proudly built by Apollo13Themes - Edit this text