2004年11月24日

Berkeley DB→MySQLへ

さてさて
全文をphp化及びモジュール化してから約2ヶ月半。
軽くなった、と思ったのは一瞬でした。
今はもう、なんつーか再構築地獄。

ってなわけで、鯖カン様にMySQLを準備して頂き、
Berkeley DB→MySQLへ移行致しました。
方法はこちらを参考に。

KEN-G.COM: Berkeley DBからMySQLへ移行

まずバックアップを取ってから作業開始。
いじるファイルは2個。mt.cfgとmt-db-pass.cgi。
mt.cfgのDBの部分は
わからないところ(環境による)所はコメントアウトしてみた。

ObjectDriver DBI::mysql
Database データベース名
DBUser ユーザー名
# DBSocket /tmp/mysql.sock
# DBHost ホスト名

んで、mt-db-pass.cgiのdatabase_passwordと書いてある部分を
MySQLのパスワードに変更。

両ファイルをアップロード。

後、最初に入ってないファイルでDB移行用のCGIファイル

mt-db2sql.cgi

これをhttp://www.movabletype.org/から
落としてこねばならんのですが
今はダウンロードにアカウント登録(TypeKey)が必要で、
しかも登録したにも関わらず本家に入れないもんで
(An error occurred:Your user record could not be found.というエラーが・・・)
MT3.0を使っている友人にダウンロードしてきて貰いました。
(2.661用のUPDATE用ファイルを落としたらその中にあったそうです)

んで、その問題のmt-db2sql.cgiも同じ場所にアップロード。(パーミッションは705とか755とか適宜)

それで、mt-db2sql.cgiを実行すれば、
バークレイDBからMySQLが流し込まれて完成♪

のはずだったのですが、下記のエラーが出ましたの。

An error occurred while loading data:

Unsupported driver MT::ObjectDriver::DBI::mysql: Can't locate DBI.pm in @INC・・・・(もっと長いです)

つらっと調べてみたら、どうもこのエラーは
PerlからMySQLが使用できないエラーみたいなので
鯖カン様に連絡をし、実行出来るよう設定してもらいました。
参考はこちら

その後mt-db2sql.cgiを実行したら無事DBが流れ込んで行きました♪
と、書きたかったんですが、別のエラーが・・・・。

An error occurred while loading data:
Connection error: Access denied for user 'ユーザー名'@'ホスト名' (using password: NO)

これ実は、パスワードのCGIを最初パーミッション600にしてたんで
読み取れなくて出たエラーだったんですね。バカですね。
なので読み取れるように適宜変更して下さい。

まぁ、そんなこんなで無事mt-db2sql.cgiにてDBが流れ込んで行きました♪(今度は本当)

や、再構築軽くなりました。
でも、たかが300エントリ位でこんなに重くなるとは。
最近、Perl主体のMTの限界を感じつつあったりします。
他のphp主体のBlogツールに移行しようかなぁ、とちょっとだけ考えてたりして。
Nucleusか、WordPressか。
それともまた別の新機軸か。
迷うところではある。

迷いっぱなしでこのままGO!もありえたり?
まぁ、今後どのように重くなっていくかを見て考えます、はい。。。


このエントリーをはてなブックマークに追加

Posted by otama at 00:00
TrackBack
このエントリーのトラックバックURL:

※商品宣伝等のトラックバックは削除する場合があります。