印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType MT のデータベースが壊れる?

MovableType にオフライン更新ツールを使って記事を投稿すると、データベースが壊れてしまうことがあるらしい。

■ ■ ■

データベースが壊れる可能性があるのは、ある一定の条件を満たしたときのみで、その条件はある程度明らかになっている。まず、この障害の発生が報告されている組み合わせは以下の通りである。

Movable Type のバージョン 2.661, 3.0
データベース Berkeley DB
PublishCharset UTF-8

ただし、この組み合わせであっても、Web ブラウザを用いて記事の投稿を行う場合は大丈夫なようだ。障害が発生するのは、オフライン更新ツールを使って投稿する場合であり、投稿する記事にトラックバックがついている場合に限るようである。

この「トラックバックがついている」という意味が、実は少し曖昧。「トラックバックの URL がついた」 または「トラックバック送信指定あり」の日本語の記事を投稿した場合、という報告がある。しかし、トラックバックの URL は ASCII 文字列であるため、これがデータベースの破壊の原因になるとは考えにくい。かといって、記事を投稿する場合、最初からトラックバックがついているということはあり得ない。

データベースが壊れる仕組みは、文字化けによるものである。blog:N@TURE BRAIN: バークレーDB破損 では、文字化けした記事を Export して、データの壊れ具合を紹介している。

これらを考え合わせると、次のようにしてデータベースの破損に至るのではないかと思われる。これは推測である。

  • 上記条件で Movable Type を設定している
  • 記事にはトラックバック許可の設定をし、トラックバック URL を表示している

という条件の下で、

  1. 記事にトラックバックが来る
  2. トラックバックの来た記事をオフライン更新ツールに読み込む
  3. その記事をオフライン更新ツールで再投稿
  4. データベース破損

となるように思われる。誰かがトラックバックをつけてくれた後、その記事をオフライン更新ツールで再編集して再投稿したときに、初めてデータベースが壊れるのではないだろうか。

pebbleinsky's blog: MTユーザの恐い話 によれば、MovableType 3.1 では修正が予定されているらしい。

オフライン更新ツールは、「Blog クライアント」あるいは、より正確に「XML-RPC クライアント」とも呼ばれる。オフライン更新ツールを使うと、手元にあるパソコンで記事を編集し一括で投稿することができる。これにより、サーバのレスポンスや回線速度を気にすることなく効率的な編集を行うことができるという、魅力的なツールである。オフライン更新ツールとしては、最初に Macintosh 用の Kung-Log が人気となり有名になった。Kung-Log の後継として、現在は ecto blog が開発されている。最近、Windows 版もリリースされ日本語化も行われた。試用期間は2週間。Windows 用の日本語版のクライアントとしては、BlogWrite (無料版あり) や ubicast Blogger (個人利用は無料) などがある。Windows 環境で使える blogger API クライアント に詳しいまとめがある。

データベースが壊れてしまった場合は、「Export」→「壊れた記事の削除」→「Import」の手順で復旧が可能なようだ。

Posted by n at 2004-09-27 03:18 | Edit | Comments (0) | Trackback(1)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
MovableType/mt.cgi
SG::Acme : attacking MT 1 MT hxxks - MT をインストールしたら真っ先に行うべきセキュリティ対策 TAQ's BLOG: Attacking MT 対策 † mt.cgiをmt.cgi.bakにする。 mt-bayesian.cgiを利用する。 ↑データベース関連 † nlog(n): MT のデータベースが壊... Trackbacked from: PukiWiki/TrackBack 0.1 at November 11, 2004 11:24
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?