Дата последнего изменения: 06.07.2023
В этом уроке рассмотрим возможные проблемы и их решения.
Проблема: разрушились диски или файловая система на master-сервере БД (при этом fsck не помогает).
Решение. Делаем slave-сервер master-сервером. Редактируем необходимым образом файл dbconn.php (можно скриптом или переключаем IP). Далее выполняем одно из перечисленных ниже действий:
CHANGE MASTER TO MASTER_LOG_FILE=…, MASTER_LOG_POS=…
).Таким образом, всегда полезно иметь рядом «горячую» копию БД, на которую можно быстро переключиться.
Проблема: случайно испорчена часть данных на master-сервере БД.
Например, в результате ошибки администратора или разработчика удалены поля в таблице заказов посетителей. Конечно, испорченные данные уже есть и на slave-сервере.
Решение. В приложении необходимо заблокировать часть функционала. Написать, что в ближайшее время всё будет починено, и выполнить следующие действия:
Проблема: случайно испорчена большая часть данных на master-сервере БД.
Например, в результате ошибки администратора или разработчика испортилось большое количество данных (заказы, счета, каталог). Конечно, на slave-сервер изменения уже ушли.
Решение. Необходимо заблокировать сайт. Написать, что в ближайшее время всё будет восстановлено, и выполнить следующие действия:
Иногда использование логического бекапа и бинарных логов позволяет быстрее развернуть БД. Желательно проводить учения по восстановлению системы.