MT3.2のDBをBerkeleyDBからMySQLへ移行

先日、こちらでも書いたとおり、テンプレートを現在(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行)に書き換えます。先頭の#は取ってね。
mt-config.cgi

12.「mt-config.cgi」の70行目(上の画面の緑の枠内と同じ行があるはず)をコメントアウト(先頭に#(半角)を付ける)します。

13.「mt-db-convert.cgi」をサーバから削除します。

以上です。お疲れ様でした~!
このあと試しに(笑)Blogを「すべて再構築」をやってみましたけどできました!!(できなかったんです、これが)速度はUPしたかどうかは、例えば、10秒が3秒になったとか、そんなすごーく速くなったわけではないですが(笑)多少は早くなったと思いますし、できなかったことができるようになっただけでも嬉しいです。

重ねて小川宏高さんに感謝です!

コメント

  1. zuma より:

    >>yuki_yuさん
    あらっ、お仕事でこんなことに?!
    プライベートBlogなら別に放ったらかしでいいかもしれないですが、仕事となると「絶対」やらなきゃいけないからツライですよね・・・そりゃ腰にもきますわ。
    マーフィーの法則(懐かしい)じゃないですが、だいたい忙しいときにエラーって起きるんですよね(笑)。

    PING:
    TITLE: Movable Type3.2の500エラー対策!DBをsqliteにする方法
    BLOG NAME: Movable Type テンプレート 無料配布 – 商用BLOG専門店
    TBありがとうございました。500エラー回避、簡単に使用中のMTをBerkeley DBからsqliteに移行する方法など色々公開中です

  2. yuki_yu より:

    zumaさん、こんにちは。

    私もつい最近、この障害に悩まされたんですー!!
    私の場合仕事でなのですが、
    クライアントのサイトをBlogを構築(実作業は全て制作会社さん)した際、
    同じような現象に悩まされ、
    原因がコレだとわかったときには、〆切直前。
    休日つぶしてDB乗り換えるという心臓によくない体験をしました・・・
    (それが腰痛の原因の一因に・・・)

    他ならぬzumaさんが同志だったなんて・・・!と思わずコメントしてしまいました(笑)。

タイトルとURLをコピーしました