先日、こちらでも書いたとおり、テンプレートを現在(2006/04/29)のデザインに変えてからテンプレートが重くなり(笑)、エントリの再構築ができなくなった。
苦肉の策?として1回に再構築するエントリ数を10件に減らして対応していたのですが(こちらにやりかたを記載)今後もこのBlogを続けることを考えると、データベースを変えたほうがいいんじゃないかと思い、この際思い切って?データベースを移行することに。
結果、問題なく簡単に移行成功!
なぜなら、初心者でも移行できるよう、素晴らしいスクリプトを小川さんが作成・配布されていたからです。
小川さんに感謝。
というわけでさくらインターネットでMovable Type 3.2を使っている人にしか役立たない(笑)データベース移行方法を紹介します。
※やる前に必要なデータのバックアップを!以前、MTのアップグレードに失敗したときひどい目に遭いましたから(笑)。
1.さくらインターネットのサーバコントロールパネルにログインして、データベース(MySQL)を作成します。なお、ライトプランの方は作れません。
たぶん「アプリケーションの設定」→「データベースの設定」で、新しいデータベースが作られると思います(データベースだけはずいぶん前に作ってしまったのでやり方を失念しました。ごめんなさい)
※管理ツール(phpMyAdmin)は一切使いません!
2.小川さんのWikiから「Mt-db-convert.zip」をダウンロードして適当なフォルダに解凍します。
3.「mt-db-convert.cgi」を、「mt-config.cgi」が入っているフォルダにアップロードします。パーミッションは755で動きました。
4.「mt-db-convert.cgi」にブラウザでアクセスします。http://xxxx.com/mt/mt-db-convert.cgiとかになるのではないでしょうか。
5.表が2つ出てくると思います。
左半分がBerkeleyDB(転送元)の設定、右半分がMySQL(転送先)の設定を入力するところです。BerkeleyDBが転送元の場合は変更不要です。たぶん(mt-config.cgiなどから自動で設定を読み取ってくれるみたいですが)。
6.MySQLの設定は、さくらインターネットのサーバコントロールパネルの「* データベースと管理ツール *」に表示されている一覧の情報を入力します。
・DatabaseとDBUser に(A)
・DBPassword に(C)
・DBHost に(B)
を入力します。
7.[Covert]ボタンをクリック!
ちなみにこのBlogは、データベース移行時に
・エントリー364件
・コメント410件
・トラックバック142件
のデータがありました。これらが全部転送されるまでに1分もかからなかったと思います。
8.転送が終わるとブラウザの下のほうに「Done copying data from DBM to DBI::mysql! All went well.」と出たら成功のようです。
失敗したら・・・小川さんにお問い合わせください・・・。
私の場合、自分でインストールしたプラグインに関するエラーが表示されましたけど(って、そこまでチェックしてくれるのこのスクリプトは?!)そのプラグインは使っていないので(笑)特に問題なかったです。
9.さらにその下に、「mt-config.cgi」のどこをどう修正したらよいかというヒントが表示されますので(何て丁寧な!)ブラウザを閉じたりせず、もしくはメモ帳などにコピーしておきます。
10.「mt-config.cgi」をダウンロードして、テキストエディタなどで開きます。
11.「mt-config.cgi」の35~39行目を、9で表示されたデータ(赤い枠の中4行)に書き換えます。先頭の#は取ってね。
12.「mt-config.cgi」の70行目(上の画面の緑の枠内と同じ行があるはず)をコメントアウト(先頭に#(半角)を付ける)します。
13.「mt-db-convert.cgi」をサーバから削除します。
以上です。お疲れ様でした~!
このあと試しに(笑)Blogを「すべて再構築」をやってみましたけどできました!!(できなかったんです、これが)速度はUPしたかどうかは、例えば、10秒が3秒になったとか、そんなすごーく速くなったわけではないですが(笑)多少は早くなったと思いますし、できなかったことができるようになっただけでも嬉しいです。
重ねて小川宏高さんに感謝です!
>>yuki_yuさん
あらっ、お仕事でこんなことに?!
プライベートBlogなら別に放ったらかしでいいかもしれないですが、仕事となると「絶対」やらなきゃいけないからツライですよね・・・そりゃ腰にもきますわ。
マーフィーの法則(懐かしい)じゃないですが、だいたい忙しいときにエラーって起きるんですよね(笑)。
PING:
TITLE: Movable Type3.2の500エラー対策!DBをsqliteにする方法
BLOG NAME: Movable Type テンプレート 無料配布 – 商用BLOG専門店
TBありがとうございました。500エラー回避、簡単に使用中のMTをBerkeley DBからsqliteに移行する方法など色々公開中です
zumaさん、こんにちは。
私もつい最近、この障害に悩まされたんですー!!
私の場合仕事でなのですが、
クライアントのサイトをBlogを構築(実作業は全て制作会社さん)した際、
同じような現象に悩まされ、
原因がコレだとわかったときには、〆切直前。
休日つぶしてDB乗り換えるという心臓によくない体験をしました・・・
(それが腰痛の原因の一因に・・・)
他ならぬzumaさんが同志だったなんて・・・!と思わずコメントしてしまいました(笑)。