サイトを見ている人にはほとんど関係ない話なのですが、利用しているサーバが知らないうちにMySQLに対応しているのを発見したため、サイト構築に利用しているMovableTypeのメタデータ格納先をBerkeleyDBからMySQLへ変更してみました。前者はファイルベースのDB、後者は曲がりなりにもDBMSってことで、サイトのBuild速度は格段に上がりました!
でもね、MT自体はまだ2.661のまま。。デザインを抜本的に変更する気になったらVerUpは考えることにしよう。
このサイト見ている人で、MovableType使ってる人がどんだけいるかわかりませんが、一応作業内容を書いておこう。
参考にしたのは、Junklineさんというサイト。オレみたいにMT古いまま、しかもファイルベースでやっている奴にはありがたいどんぴしゃな情報が載っておりました。^^
Junkline - MovableType の DB を BerkeleyDB から MySQL に移行し隊
手順はほとんど一緒。
・利用しているレンタルサーバのWebコンソールを利用してMySQLのDBを作成
・サーバ上に配置している%MT_HOME%/mt.cfgを編集
DataSource ./db
ObjectDriver DBI::mysql
Database <データベース名>
DBUser <データベースユーザ名>
【注】ここで「DataSource」としてBerkeleyDBを指定している部分をコメントアウトする
とあったが、それでは後で実行するスクリプトがこけることが判明。コメントアウトせず
上記の4行が適用された状態にしておく。(つまり、BerkeleyDBとMySQLの設定が共存
するような状態
・サーバ上に配置している%MT_HOME%/mt-db-pass.cgiにDBのパスワードを設定
・USのMovableTypeのサイトから2.661のUpgradeソースをダウンロード
(ココが注意。日本のサイトはMT3.x以降のモジュールしか配布していない。そういえば、2.x以前は確かに本家の英語のみで、日本語化は有志によるパッチ提供でした・・)
・DLしたZIPを回答して「MT-2.661-upgrade」フォルダの中からmt-db2sql.cgiだけ取り出す
mt.cfg
mt-db-pass.cgi
mt-db2sql.cgi
を一緒に%MT_HOME%へ上書きアップロード。
・mt-db2sql.cgiのパーミッションを変更(750)して実行
・もう一度サーバ上に配置している%MT_HOME%/mt.cfgを編集
# DataSource ./db ←ここでコメントアウトしてMySQLを有効化する
ObjectDriver DBI::mysql
Database <データベース名>
DBUser <データベースユーザ名>
・動作確認(mt.cgiから入ってエントリの登録や再構築を実行)、問題なければBerkeleyDB用のフォルダ(.db/)を削除
てな感じ。^^
----
作業を終えて
----
問題の速度ですが、
・エントリ1件の登録は一瞬!(はやくなった)
・再構築(Rebuild)もかなり高速
実は記事が増えてきたため、Buildプロセスが度々こけるようになってきていて、小分け(25件ずつ)にBuildをするようにパラメータを調整したりしてたのだけど(標準は40件ずつ)、今回の改訂で、120件ずつに増やしても余裕でBuildできるようになった。
こんなに簡単で、効果があるんだったらもう少し早くやっときゃよかった。(笑)
今んところは問題なし。どっかおかしくなってんのかな・・?