ある時から急に、このWeblogを管理するMovableTypeの画面で何かする度に、"Invalid Login."と表示されたログイン画面に戻るようになってしまった。WebブラウザのCookieが無効の時のような動作である。
それでもブラウザにUsernameとPasswordを自動入力させながら少しずつ進むならまだ良かったのだが、悪いことにエントリー(記事)の保存ができなかった。エントリーの入力画面で"Save"ボタンを押すと"Invalid Login."と書かれたログイン画面になり、UsernameとPasswordを入力してログインすると、エントリーが保存された時の画面でなく、ログインして最初に開く画面に戻るのだった。
別のブラウザでも同様、Apache2を再起動しても同様だった。
最初にApache2のCookieの動作を疑ったせいか、Webで検索しても同じような症状が書かれたページがなかなか見つけられず、何時間も失ってしまった。
結果的に、MySQLデータベースの'mt_session'テーブルが破損したのが原因だとわかり、'mt_session'で検索すると、'mt_session'テーブルが破損してMovableTypeがこの状態になったという情報がたくさん見つかった。
mysqlコマンドでMySQL DBに接続して、describe mt_session;とすると、
Table 'mt_session' is marked as crashed and last (automatic?) repair failed
と表示され、バックアップをリストアしないといけないくらいに大変なことになったかと思ったが、幸いなことに、
repair table mt_session;
とすると一発で直った。
ついでに、mt_sessionに大量のUser Session(US)の行が残っていたので、UNIXのシェルで
remove_old_sessions --ttl 30 --kind US
を実行して削除した。
それで直るんだったらautomatic repairが成功しておいて欲しかったものだ。
コメント