2006年04月27日

BerkeleyDBからMySQLに移行

このブログだけでも、エントリーが330。コメント432。トラックバック41。新規にエントリーを追加して再構築がかなり重くなってきた。コメントを投稿しても、画面が切り替わらない等の現象も起きてきた。
そこで、MovableTypeの標準のDB(BerkeleyDB)から、MySQLにDBを移行することにした。

  1. Berkeleydbのバックアップ

    万が一失敗した時のことを考え、まずはバックアップ。「読み込み/書き出し」メニューから「エントリーの書き出し」をクリックして、現在のエントリーのバックアップを取ります。これはテキストファイルで、自分のパソコンに保存されます。
    念のため、DataSource で指定してあるファイル(これがBerkeleyDB)をFTPでバイナリーモードで保存します。

  2. MySQLのデータベース作成

    MySQLにブログ用のデータベースを新規に作成します。データベース名、ユーザ名、パスワードをそれぞれメモしておきます。

  3. mt-config.cgiの修正

    mt-config.cgi のMySQLの情報のところに、上でメモした内容を書きます。

    ObjectDriver DBI::mysql
    Database xxxxxx ←データベース名
    DBUser xxxxx ←ユーザ名
    DBPassword xxxxx ←パスワード
    DBHost localhost

    DataSource のところはとりあえず、そのままで。

  4. mt-db2sql.cgi の実行

    mt-db2sql.cgi を実行します。これが、BerkeleyDBからMySQLに移行するためのツールです。実行すると、数値がダラダラと表示されます。最後に

    Done copying data from Berkeley DB to your SQL database! All went well.

    が表示されたら、成功です。こえで、データがMySQLのほうに移動しました。

  5. 再び、mt-config.cgiの修正

    mt-config.cgi の DataSource をコメントアウトします。


管理画面が正常に動作すればOKです。DataSourceで指定したディレクトリは削除するか、名前を変えておきましょう。再び、mt-db2sql.cgi を誰かに実行されてしまうと、その時点の内容に戻ってしまうかもしれません(未確認)。

意外と簡単な手順で移行が済みます。所要時間約10分程度。

参考エントリーは
http://www.bayashi.net/archives/entry/2005/000167.html


さて、このエントリーがMySQLにして最初のエントリー。再構築の時間はいかに・・・

2006年04月27日 17:14 | MovableTypeでサイト構築日記


トラックバック

このエントリーのトラックバックURL:

コメント

私もチャレンジしたいんですが、自信が・・
前に一度やってみましたが、うまくいきませんでした。
それでは、コメントを投稿してみます!
早くなりましたか?

cerise : 2006年04月28日 00:04

難しそうで、意外と簡単でしたよ。
なんとなく軽くなったような。
コメントどうです?今までは、元の画面が出ない場合があったと思うんですが、ちゃんと元の画面出るでしょ?

imai : 2006年04月28日 01:03

はい、よくなりましたね。
いまいちゃんには、簡単でも、私には、難しいんですよ(汗
でも、またチャレンジしてみようかな・・

cerise : 2006年04月28日 12:34

コメントしてください




保存しますか?