1

Обновление ownCloud не удалось из-за повреждения данных MySQL.

Изучая журнал ошибок, выясняется, что повреждение влияет на таблицу owncloud.oc_filecache .

Я попытался запустить check table owncloud.oc_filecache; из консоли MySQL, но MySQL все еще не работает.

Название предполагает, что таблица содержит только данные кэша и что должна быть возможность восстановить их.

Можно ли как-нибудь сбросить и воссоздать стол с нуля?

1 ответ1

2

Чтобы очистить таблицу, войдите в консоль 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 вручную, затем снова включить мои приложения, и теперь все выглядит хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .