Битая база данных - это не всегда полная потеря данных. Иногда повреждена отдельная таблица, индекс, дамп или структура после неудачного импорта.

Главное - не усугубить проблему повторными импортами и случайными repair-командами без копии.

Почему это мешает работе

Поврежденная база может ломать сайт частично: не открывается каталог, пропадают заказы, не работает админка или падает только один модуль.

Частые причины

  • сбой сервера во время записи
  • неудачный импорт дампа
  • переполненный диск
  • повреждение таблиц или индексов
  • ошибка кодировки после переноса
  • несовместимая версия MySQL/MariaDB

План диагностики и исправления

  1. Сохраняю текущую копию базы или файлов данных, если это возможно.
  2. Смотрю точные ошибки MySQL/MariaDB и приложения.
  3. Определяю поврежденные таблицы или участок данных.
  4. Проверяю бэкапы и возможность безопасного восстановления.
  5. Восстанавливаю таблицы, индексы или данные с проверкой сайта.

Чего лучше не делать

  • многократно запускать repair без копии
  • импортировать разные дампы поверх друг друга
  • удалять поврежденные таблицы без анализа
  • игнорировать переполненный диск
  • чинить production без резервной копии

Что вы получаете

  • понятно, что именно повреждено
  • восстановлены таблицы или данные, если это возможно
  • проверены бэкапы
  • сайт снова подключается к базе
  • даны рекомендации по резервному копированию

Что нужно для старта

  • ссылка на сайт, страницу, проект или репозиторий
  • описание симптома простыми словами
  • скриншот, лог, отчет PageSpeed или текст ошибки, если есть
  • информация о CMS, сервере, базе или сервисе, если известна
  • приоритет: срочно восстановить или спокойно оптимизировать

Сроки

Одна таблица1-3 часа
Проблема дампа2-5 часов
Серьезное повреждениепосле диагностики

Вопрос-ответ

Данные всегда можно восстановить?

Нет. Но часто можно восстановить часть или откатиться на рабочий бэкап.

Почему важно место на диске?

Переполненный диск может снова повредить записи и помешать восстановлению.

Нужно ли останавливать сайт?

При активной записи в базу часто лучше временно остановить сайт или ограничить операции.

Итог

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

Нужна похожая задача? Напишите в Telegram: @rabotator_support. Пришлите симптом, ссылку и доступы только к нужной части проекта, я посмотрю и предложу понятный план.