サーバー移行でMTにログインできなくなった
Unable to lock file author.db
Unable to lock file author.db
Movable Type(以降、MT)で、Webサーバーを移行する場合、標準データベースのBerkeley DB(以降、DB)なら、別サーバーにそのままコピーして使うことが可能です(その際、前のサーバーのディレクトリ構成と同じにした方が、移行の手間が軽減できる)。しかし、DBごとMTを移行して、MTにログインできなくなった場合、前のサーバーと今のサーバーでインストールされているBerkeley DBのバージョンが異なる可能性がある。
DBのバージョンが違う場合は(DBバージョンが不明な場合は試してみる価値あり)、次のサイトに載っている手順でDBのファイルをアップグレートすると、MTにログインできるようになります。
1. DBファイルを置いている場所に移動してください
$ cd <DBファイルを置いているディレクトリ>
2. 次の「DBをアップグレードする」ためのコマンドを実行してください。
$ db_upgrade *.db *.idx
このコマンドが正常に実行できれば、データベースのアップグレードは終了です。
しかし、次のように「ファイルの種類が認識できない」という内容のメッセージが表示されて、
正常にコマンドが実行できなければ、以下の手順も実行する必要があります。
db_upgrade: author.db: unrecognized file type
db_upgrade: DB->upgrade: author.db: Invalid argument
3. 「DBのアップグレード」ができない場合、「DBのダンプを取って、それを読み込みなおす」必要があります(ちなみに「ダンプ(Dump)」とは、データベースの情報をファイルに書き出して保存することで、バックアップのようなものです。つまりここでは、データベースのバックアップをとって、それをロードする作業を行います)。
DBのダンプを取るコマンドには次の2つがあります。
・db_dump(DBのバージョン2以上用のコマンド)
・db_dump185(古いDBのバージョン1.85、1.86用のコマンド)
この2つのどちらのコマンドを使うかは、DBのバージョンによって異なります。どちらのコマンドを使うべきかは、次のコマンドを実行することで確認できます。
$ db_dump author.db
トラックバック
このエントリーのトラックバックURL:
http://jp-kaigo.com/cgi/mt-tb.cgi/5