再構築時にエラーが...Berkeley DBからSQLiteに移行

| |


昨日のエントリー書き込んだ後、いつも通りサイトを再構築していると見慣れない画面が!?
Internal Server Errorと表示され、何度やっても同じような500エラーが出てしまう。月額125円からの「さくらのレンタルサーバがメンテナンスでもやってるのかと思って、時間をおいてもう一度再構築してみたものの変化なし。

何かMovableTypeの問題かな?といろいろググって見ると、Six Apartにこんな記事がありました。
どうもBerkeley DB環境にて、再構築時におけるメモリー使用量の増加により、再構築できない現象が発生するみたい。でもこの記事によると、MT3.2-ja-2ではこの不具合の修正が完了してるはずなのに。。。

さらにググって見ると、この不具合を解消するには、再構築時のページ数を減らしたり、rebuild 支援ツールを使ったりといくつか方法があるようなんですが、根本から解決したかったので、この際データベースを移行することにしました。以前から再構築の時間が遅くてイライラしていたこともあり、SQLiteに移行することに。MySQLでもよかったんですが、MySQLに移行してもそんなに再構築のスピードが変わらない、または逆に遅くなることもあるらしいので...。

移行の際は、Ogawa::Memorandaさんのmt-db-convert.cgi: MTデータベースの相互変換CGIスクリプトを利用させていただきました。備忘録として手順を記載しておきます(さくらインターネットの場合です)。

1.mt-db-convert.cgiをダウンロードし、mt.cgiと同じ階層にアップロード。

2.mt-db-convert.cgiのパーミッションを755に。

3.ブラウザでmt-db-convert.cgiを実行。

4.左側の「Source DB Configuration」は現在の設定なので何もさわりません。
右側の「Destination DB Configuration」で、一番上のObjectDriverをSQLiteに。上から3番目のDatabaseを、左側のDataSource「-------/db」の階層内にデータファイルを作成する(ご自分の環境に合わせてください)ので、「-------/db/sqlite.db」と記入。convertをクリック。

5.mt-db-convert.cgiが実行され、
Done copying data from DBI::mysql to DBI::sqlite! All went well.
と表示されれば成功。その下にmt-config.cgiの変更箇所が表示されるので、その通りにmt-config.cgiの内容を変更すれば終了。

無事サイトの再構築が終了してくれました。なんとなくBerkeley DBの時より早くなった気がします。思ったより簡単に終わったのでちょっと拍子抜け。


追記:SQLite移行によるtagsのNotFoundについて
SQLite移行後のエントリーで、エントリー上部に設定したキーワードをクリックすると、NotFoundになってた。データベースのパス関係かなと思っていたら、mt-xsearch.cgiの27行目に'mt.cfg'のファイル名が。???MT3.2に移行後、このファイルはmt-config.cgiに変わっているので、これをmt-config.cgiに書き換えてあげればOK。

トラックバック(0)

このブログ記事に対するトラックバックURL: http://skeg.jp/mt/mt-tb.cgi/295

コメントする

画像の中に見える文字を入力してください。

  • SKEG*logのはてなブックマーク数
  • Googleリーダーに登録
  • My Yahoo!に登録
  • livedoor Readerに登録

アーカイブ

当サイトについて

SKEG*log [スケッグログ]
運営者:skegoo
熊本県在住
30代サラリーマン。
広告全般の制作に携わってます。メインはWEB。

Mac・デジカメ・写真・書評がメインですが、便利なツールやサービス・モノレビューも紹介。MTで運営しているのでその辺のカスタマイズも。自分自身が何を書き・何を伝えられるのかを考えながら日々更新中。

ご意見・ご感想:
info[at]skeg.jp
Twitter:@skegoo
Facebookページ
詳しくはAboutのページをご覧ください。

SKEG*logはさくらのレンタルサーバにて運営中。


ドメイン取るなら低価格のリンククラブ

track feed

年間購読中の雑誌