web-dev-qa-db-ja.com

ownCloud MySQLテーブル「oc_filecache」が破損しています。再生成できますか?

私の ownCloud MySQLデータが破損しているため、アップグレードに失敗しました。

エラーログを調べると、破損がowncloud.oc_filecacheテーブルに影響を与えているようです。

MySQLコンソールからcheck table owncloud.oc_filecache;を実行しようとしましたが、MySQLがクラッシュしました。

この名前は、テーブルがキャッシュデータのみを保持し、それを再生成できる必要があることを示しています。

テーブルを最初から削除して再作成する方法はありますか?

1
user149408

テーブルをクリアするには、MySQLコンソールに入ります。

mysql -uroot p

パスワードを使用してログオンし、次のように入力します。

truncate owncloud.oc_filecache;
check table owncloud.oc_filecache;
quit

owncloudはデータベース名、oc_はテーブル名のプレフィックスです。どちらもセットアップ時に指定され、システムによって異なる場合があります。)

これにより、削除テーブルの内容全体がサーバーによって再構築されるため、oc_filecacheでも問題ありませんただし、ランダムテーブルではこれを行わないでくださいあなたはあなたが何をしているのか知っています

その後、occ upgradeの実行を再試行しましたが、今回はoc_activityテーブルで別のエラーが発生しました。

クイック検索でoc_activityが最近のアクティビティデータ(エントリは最終的に期限切れになる)を保持していることが判明した後、oc_activityで上記の操作を再実行しました(システム内のすべてのユーザーの「最近のアクティビティ」エントリを犠牲にします) )そしてocc upgradeを再試行しました。

今回は、エラーもなくスムーズにアップグレードされました。 occ maintenance:mode --offを手動で実行してから、アプリを再度有効にする必要がありました。これで問題はありません。

3
user149408