このエントリーをはてなブックマークに追加
はてなブックマーク - BerkeleyDBからMySQLへの移行 on MovableType3.2-ja-2
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

エントリーも300も超えてくるとさすがにBerkeleyDBでは厳しいのかトラックバックに失敗するようになってきた。
いつかMySQLに変えようと思い続けて幾年月。でもどうせやるなら文字コードをeucからutf-8に変えたいなぁと思い続けてさらに幾年月。
このままだといつまで経ってもやらないと確信するに至ったため、条件を一つ減らしてBerkeleyDBからMySQLへの移行だけをやってみようと思い立った。
思い立ったら吉日ということで調べてみると、巷ではSQLiteが流行っているらしい
理由はBerkeleyDBより早い。レンタルサーバーではMySQLが共用のことが多く、遅い。SQLiteはファイルベースのSQLエンジンだから、速度が他人に左右されない。といったところだろうか。
レンタルサーバーによってはCGIの実行時間に制限があるところもあるみたいで、MySQL環境が劣悪な場合は再構築中にエラーが出たりなんだりと大変なんだそうな。んで、レンタルサーバーではSQLiteが流行ってると。
MySQLが過負荷で無い場合は当然SQLiteよりも早いのだが、勘違いしちゃってる人も多いみたい。
俺の場合は自前のマシンだし、まったく関係ないので迷わずMySQLに移行。あれ?そもそも何でBerkeleyDBにしたんだっけ?まったく思い出せない…
多分こんなにやり続けると思ってなかったんだと思うが…
そうこうしているうちにOgawa::Memoranda:mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプトというところにたどり着いた。
早速

> mysql -u root -p
Enter password: パスワード
mysql>
mysql> create database movabletypedb;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on movabletypedb.* to movabletypeuser@localhost identified by ‘パスワード’;
Query OK, 0 rows affected (0.13 sec)
mysql> flush privileges;
mysql> exit

とDB作成。
詳しくはGoogle様での検索結果参照
そしてBlogのデータをディレクトリごとコピーしてバックアップ。
“mt-db-convert.cgi”を”mt-config.cgi”と同じディレクトリに置いてパーミッションを”755″に変更。
ブラウザで”http://自分のBlogアドレス/”mt-config.cgi”が置いてあるディレクトリ/mt-db-convert.cgi”にアクセス。
さっき自分で設定したMySQL上のDBのデータを入力、しばし待つ

————————————-
# DataSource /usr/home/ユーザー名/BerkeleyDBでのDBディレクトリ
ObjectDriver DBI::mysql
Database movabletypedb
DBUser movabletypeuser
DBHost localhost
DBPassword パスワード
————————————-

等と親切な情報が表示されるので、これを元に”mt-config.cgi”を書き換える。
試しに”サイトを再構築”してみると…あっけなく成功。
忘れずに”mt-db-convert.cgi”を削除。
ogawaさんありがとう!
ちなみに効果のほどはまだ不明。再構築は早くなったような気がする。

Related posts:

  1. MovableType5.04からWordPress3.1.2へ移行
  2. Postfix with TLS
  3. SpamAssassin with Postfix2.3 on the FreeBSD5.4R (+ submission port)