Создайте триггер в PHPMyAdmin для восстановления таблицы при сбое

Я использую PHPBB (самая современная не бета-версия), и в последние 3 месяца при поиске каждые несколько дней появляется ошибка:

'phpbb_search_wordmatch' помечен как аварийный, и последнее (автоматическое?) восстановление не удалось

Чтобы исправить это, я просто запускаю ремонт на столе. Я все еще работаю над тем, чтобы выяснить, почему это продолжает падать. Хост не помог, и, возможно, таблица слишком велика для сервера (700 МБ или около того).

Мой вопрос: Могу ли я тем временем создать триггер в PHPMyAdmin для автоматического восстановления таблицы всякий раз, когда возникает эта ошибка? Вы видите его в таблице в PMA, когда получаете к нему доступ, поэтому должна быть какая-то запись, которую я могу использовать для создания триггера.

К сожалению, эту проблему трудно решить, поскольку я нахожусь на общем сервере, и все ресурсы в Интернете говорят, что нужно связаться с хостом, так что, по крайней мере, я могу заставить ее исправить себя, когда это произойдет.


person Shannon    schedule 27.10.2014    source источник


Ответы (1)


Возможно, вам лучше настроить запланированное задание. Я не знаю, как вы могли бы создать триггер, который определяет, когда таблица нуждается в ремонте; Я не верю, что есть ловушки для логики, чтобы обнаружить эту ситуацию и запустить процедуру.

В базе данных есть вкладка «События», где вы можете включить планировщик событий MySQL и создать событие, которое будет запускаться, скажем, один раз в неделю, и запускать оператор SQL для восстановления таблицы. Это все еще не идеально, но я думаю, что это лучше, чем использование триггера в этом случае.

person Isaac Bennetch    schedule 28.10.2014
comment
Спасибо; извините, что не ответил на это. Я предполагал, что получу уведомление, но, похоже, моя папка со спамом съела его. Я добавил событие, я думаю. Так что посмотрим, запустится ли. Я должен был делать это каждый день, потому что, если я пропущу неделю, люди взорвутся на меня. Единственное, что теперь, когда он там, он говорит, что статус планировщика событий: ВЫКЛ, и он говорит, что у меня нет супер-разрешений, чтобы переключить его на глобальном уровне. Не уверен, что мне нужно, чтобы это было глобально, поэтому я надеюсь, что все в порядке. - person Shannon; 22.12.2014