goo blog サービス終了のお知らせ 

ラブラドールレトリバー「忠太の心の声」

黒ラブ忠太と忠太パパのブログ。
最近は仕事の備忘録としてのエントリーが多いです。

MovableType 3.3 MySQLへDB移行成功!!

2008-01-20 | Web・PC
既存のデータベース(以下DB)「Berkeley DB」がなぜ使えないかというと、
再構築するときに「500エラー」が発生します。
これはエントリーが増えてくると発生するエラーのようです。

とりあえず、「mt-config.cgi」の「Berkeley DB」の項目に
「EntriesPerRebuild 10」を追加することでしのぎました。

この項目追加により、再構築するエントリーの単位を、
通常の20から10に変更します。
貧弱な「Berkeley DB」は処理能力が低いようです。

結局、エントリー数が200近くに達すると「500エラー」が再度発生し、
EntriesPerRebuildを10から5にまで減らしました。

それでも、エントリーを保存するたびに「500エラー」が発生するようになり。
まだ我慢していたのですが、古いエントリーから3分の1くらいが
カテゴリーに認識されなくなりました。

ついに「Berkeley DB」に見切りを付け、「MySQL」にDBを移行することにしました。

私のレンタルサーバーでは「MySQL」は有料です。(月々525円)
痛い出費ですが、しょうがありません。
申し込むとすぐに使えるようになりました。
この時、DB名やユーザー名・パスワードを設定します。
後で必要になるので、しっかり保存します。

移行方法をネットで調べてみると、結構簡単のように感じられました。
現在の「Berkeley DB」のDBをバックアップします。
これは単純に「db」というフォルダーをコピーしました。

それから「mt-config.cgi」を編集します。
「Berkeley DB」の項目をコメント化します。(先頭に#をつける)
通常1行しかありません。

「MySQL」の項目の#を外し、以下の()内を設定します。

##### MYSQL #####
ObjectDriver DBI::mysql
Database (データベース名)
DBUser (ユーザ名)
DBPassword (パスワード)
#DBHost localhost

私のレンタルサーバーの場合、DBの収容場所がMTと同じホストなので
「DBHost」の設定をしませんでした。
変更を保存し、ftpでアップします。
これで、MovableTypeのDBを「MySQL」に変更できました。

次に、DBの移行です。
ブラウザーから、MTフォルダ内にある「mt-db2sql.cgi」を開きます。
するとcgiが実行され、最後に以下のように表示されます。

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

この表示がでれば移行完了とのことでしたが、私はできませんでした。

新しいDBを「phpMyAdmin」で見てみると、エントリーのテーブルが空です。
何度か試してみましたが、だめでした。

再度ネットで検索したところ「mt-db2sql.cgi」ではうまくDBの移行ができないようです。

以下のサイトさか移行cgiを新たに入手しました。
http://code.as-is.net/public/wiki/MT_Database_Converter.ja_JP

私のバージョンは3.3なので「mt-db-convert33.cgi」を使います。
自分のMTへftpを使いアップします。パーミッションは「755」にしました。

開くと設定画面が現れます。全て英語ですが、何とか理解できます。
左側が旧DBの設定、右側が新DBの設定です。

実行すると変換を始めます。
完了し、phpMyAdminで確認するとエントリーのテーブルにしっかりと移行されていました。

MTにアクセスし再構築すると無事に終了。
出来上がったブログ(忠太のページ)は完璧でした。
カテゴリーもしっかり出来ています。

ここまで来るのに結構時間がかかりました。
同じ思いをして困っている人が居るのではないかと、ここまで書きました。
詳しくは、いろんなサイトで見てもらうとして、
大きな流れ的な部分で役立てれば幸いです。


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。