さくらインターネットでBerkeleyDBからMySQLへ移行

| コメント(0) | トラックバック(0)

 昨夜、久しぶりにサイトの再構築をしたらInternal Server Error 500が出てしまいました。Movable TypeでデフォルトのBerkeleyDBを使用することにより、再構築の時にサーバーエラー500が出て再構築が止まってしまうバグです。とりあえず、データベースをBerkeleyDBからMySQLへ移行する事にしました。

 参考書はブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックです。本に書いてあるとおりにやれば特に問題なく移行できますが、さくらインターネット固有の部分がありますので、参考までに書き留めておきました。コースはスタンダードコース、Movable Type は3.2-ja-2です。一連の作業の前にFTPソフトでサイトを丸ごとバックアップしておいたほうが良いと思います。何が起こるか分かりませんので。

1. MySQLデータベースの作成
さくらインターネットのレンタルサーバコントロールパネルログインからログインします。「データベースの設定」から適当なパスワードを設定してデータベースを作成します。「データベースと管理ツール」という表が表示されますので、「データベース ユーザ名 / データベース名 」と「データベース サーバ」を記録しておきます。間違えないようにパスワードといっしょにエディタかワープロソフトに記録した方が確実です。

2. 設定ファイルの編集
 サーバー上にあるmt-config.cgiをFTPソフトでダウンロードします。mt.cgiと同じフォルダにあると思います。エディタで開いて「#ObjectDriver DBI::mysql」で始まる行を探します。だいたい、35行目ぐらいだったと思います。次にそこから5行の先頭の[#]を消して必要な情報を書き込みます。

ObjectDriver DBI::mysql
Database データベース名
DBUser ユーザ名
DBPassword パスワード
DBHost データベースサーバ名

 さくらインターネットの場合はデータベース名とユーザ名は同じです。サーバー名は表示されたサーバー名をそのまま入力してください。(例: mysql01.db.sakura.ne.jp )

3. BerkeleyDBからMySQLへ移行
 ブラウザからmt.cgiと同じフォルダにあるmt-db2sql.cgiを実行します。
Done copying data from Berkeley DB to your SQL database! All went well. が出たらOKです。

4. BerkeleyDBを無効にする
 先ほどのmt-config.cgiを開いて(ローカル側のファイルでOKです)次の行を探します。70行目ぐらいです。

### BerkeleyDB Configuration - BerekelyDB requires only the path to your
# database directory.
#
DataSource <データベースへのパス(環境によって違います)>

 DataSourceの前に#をつけてコメントアウトします。保存して同じ場所にアップロードします。

5. 確認
 mt.cgiを実行して、データベースが正常に移行されている事を確認します。

6.BerkeleyDBの削除
 十分に確認がとれたらMovable Typeをインストールした時に作ったDBを格納するディレクトリをディレクトリごと消去します。(私は確信が持てないのでまだやってません)

 データベースをMySQLに移行したら、再構築してもインターナルサーバエラー500は出なくなりました。

追記
その後、コンバート後にトラックバックの表示がおかしくなるというバグがある事が分かりました。対処法については別のエントリに書いておきました。

トラックバック(0)

トラックバックURL: http://e-ha.sakura.ne.jp/mt/mt-tb.cgi/209

コメントする

このブログ記事について

このページは、院長が2006年2月11日 22:29に書いたブログ記事です。

ひとつ前のブログ記事は「フロリダの空港で乗客の手荷物から人間の頭蓋骨」です。

次のブログ記事は「DBコンバート後に受信済みのトラックバックを参照できない」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。