Berkeley DBからMySQLへ移行

2004年2月27日

レンタルサーバがMySQL、PostgreSQLの利用が可能になったので、BLOGのDBをBerkeley DBからMySQLへ移行しました。

■DB(DataBase)の存在を確認
契約しているレンタルサーバでは、MySQLの管理用WEBインターフェイスとしてphpmyadminが使われているので、phpmyadminで使用可能なDBがあるか、DB名を確認。
※DBの存在と名前を確認するだけで、テーブルの作成は、MovableTypeが自動で作成してくれます。

■mt.cfgを編集
1)Berkeley DBを使用していたなら22行目あたりの「DataSource ./db」が有効になっているので、コメントアウトをして無効にする。
DataSource ./db → # DataSource ./db

2)上記でBerkeley DBを無効にした代わりに、MySQLの設定を記述します。
mysqlObjectDriver DBI::mysql
Database MySQLのデータベース名
DBUser MySQLのユーザーID
DBSocket /tmp/mysql.sock ※記述不要な場合あり
DBHost MySQLサーバホスト名 ※記述不要な場合あり

■mt-db-pass.cgiの書き換え
mt-db-pass.cgiは、database_passwordと書かれただけのファイルなので、database_passwordを消去して、MySQL用のパスワードを入力。

■mt-db2sql.cgiを入手する
すでにサーバにmt-db2sql.cgiがある人はこの作業は必要ありません。
movabletype.org : DownloadのUpgrade Versionをダウンロードしmt-db2sql.cgiをGet!

■各ファイルをアップロード
 1)ここまで変更した「mt.cfg」「mt-db-pass.cgi」「mt-db2sql.cgi」の3ファイルをサーバにアップ。Permissionは、各サーバの設定に合わせてください。

■DBをMySQLに移行
念のためバックアップを取っておきましょう。
1)ブラウザから先ほどアップロードしたmt-db2sql.cgiを実行
2)ガーッと数字/英文などが表示され、最後の行に以下の表示があれば成功です。
  Done copying data from Berkeley DB to your SQL database! All went well.

※MySQLの設定完了の通知を受けてましたが、最初以下のエラーが出ました。
モジュールがインストールされていないので、レンタルサーバの担当者に連絡して、インストールしてもらい移行が完了。
An error occurred while loading data:
Unsupported driver MT::ObjectDriver::DBI::mysql: Can’t locate DBI.pm in @INC (@INC…….

■MySQLテーブルを確認
本当に移行が完了したのか不安?!だったので、phpmyadminでテーブルが作成されているか確認ん。いろいろテーブルが自動でできていました。
再構築し、新規にエントリーを作成しましたが、現在正常に動作しています。

一つ前の記事(Previous)
The Cyborg Name Generator 2


HOME

次の新しい記事(Next)
ロード・オブ・ザ・リング lotr:The Return of the King