MENU

freoでsqliteのデータベースロック

database_is_locked.png

他のサーバーでは知りませんが、
コアサーバーでは時折freoのsqliteでデータベースロックが起こります。

このロックがかかると、
管理画面に入れない、投稿できないなどの障害発生。
こうなっちゃった時の私なりの方法。

ロックがかかった時にやっちゃいけないこと。
ロックがかかってしまったデータベースに対して、
PupSQLiteなどで最適化を行うとデータベースが壊れます。
ロックがかかったら、データベースはいじらない。

データベースロックからの脱出

database2などのディレクトリを作成し、
.htaccessとともにfreo.dbもコピー。
database2のディレクトリのパーミッションは707。
freo.dbのパーミッションは606に設定するのを忘れずに。

config.phpにて、
データベース格納ディレクトリ(SQLite用)の設定を、
database2に指定してください。

これでdatabase2ディレクトリ内のデータベースが読み込まれます。
データベースのロックはかかってないので通常通りアクセス可能。

目次