Berkeley DB から SQL データベースへの移行
Berkeley DB を使った既存の環境を、MySQL, PostgreSQL, SQLiteを使った環境に移行する方法は、次のとおりです。
Berkeley DB を使用した Movable Type 3.x から、Movable Type 4 にアップグレードする場合、Movable Type 3.x 上で以下の手順でデータベースの移行作業を行ったあと、Movable Type 4 へのアップグレードを行ってください。
- データベースファイルのバックアップ
- 移行先のデータベースに対応した Perl モジュールをインストール
- 移行先のデータベースに対応した環境を設定
- 移行スクリプトを実行
- Movable Type のアップグレード
データベースファイルのバックアップ
移行の作業中、万が一に失敗したときでも復旧できるように、データベースファイルを次のようにバックアップします。FTP ソフトでサーバーにアクセスしてデータベースディレクトリごとローカルに保存するか、以下のようなコマンドでバックアップを行います。
$ tar -zcvf backupdb.tar.gz /var/www/mt-db/*
移行先のデータベースに対応した Perl モジュールをインストール
mt-check.cgi にアクセスし、システム情報の確認を行います。移行先のデータベースに対応した Perl モジュールがインストールされていない場合はインストールします。
- DBI (すべてのデータベースで必要な共通モジュール)
- DBD::mysql (MySQLを利用する場合に必要なモジュール)
- DBD::Pg (PostgreSQLを利用する場合に必要なモジュール)
- DBD::SQLite (SQLiteバージョン3を利用する場合に必要なモジュール)
- DBD::SQLite2 (SQLiteバージョン2を利用する場合に必要なモジュール)
移行先のデータベースに対応した環境を設定
移行先のデータベースに対応した環境を設定します。
移行先データベースの設定を行う際に、使用中の Berkeley DB の設定を削除しないでください。
My SQL を例にすると以下のようになります (設定内容はサンプル)。
# Berkeley DB (before)
DataSource /var/www/mt-db
# MySQL (after)
ObjectDriver DBI::mysql
Database mt
DBUser mtuser
DBPassword mtpasswd
DBHost mysql.example.com
移行スクリプトを実行
データベースの移行スクリプト mt-db2sql.cgi を実行します。たとえば、CGIPath を http://www.example.com/cgi-bin/mt/ に設定している場合、mt-db2sql.cgi は次の URL で実行できます。
http://www.example.com/cgi-bin/mt/mt-db2sql.cgi
データベースの移行が正常に終了した場合、次のメッセージが画面に表示されます。
Done copying data from Berkeley DB to SQL database! All went well.
Movable Type 4 へのアップグレード
既存の環境でデータベースのアップグレードを行った後、Movable Type 4 にアップグレードします。アップグレードの手順は既存環境からのアップグレードを参照してください。