MySQL и MariaDB LinuxWindowsMySQL Server

MySQL: Из резервной копии MySQL восстановлены не все таблицы

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

После восстановления SQL-дампа часть таблиц может отсутствовать из-за неполного экспорта, прерванного импорта, фильтров дампа или ошибок создания объектов. Без исходного журнала нельзя считать операцию успешной по одному коду завершения приложения.

В этой статье
  1. Как проявляется проблема и где искать причину
  2. Пошаговая диагностика и устранение
  3. Как проверить результат
  4. Если исправление не помогло

#Как проявляется проблема и где искать причину

После восстановления SQL-дампа часть таблиц может отсутствовать из-за неполного экспорта, прерванного импорта, фильтров дампа или ошибок создания объектов. Без исходного журнала нельзя считать операцию успешной по одному коду завершения приложения.

Возможная причинаКак узнатьЧто делать
Дамп неполонЭкспорт был ограничен несколькими таблицами или базамиВ файле нет CREATE TABLE нужного объектаПовторить экспорт с верными параметрами
Импорт прерванВ логе обнаружен ERROR и запись остановиласьЧасть таблиц создана до ошибочного SQLПроверить причину и повторить на чистом тесте

#Пошаговая диагностика и устранение

  1. 1. Составьте перечень ожидаемых таблицНа исходной базе, если она доступна, выполните SHOW FULL TABLES для нужной схемы. Отдельно отметьте представления: SHOW FULL TABLES показывает и таблицы, и VIEW. Сохраните количество и названия.
    SQLКоманда
    В mysql-клиенте, замените appdb.
    SHOW FULL TABLES FROM appdb;
  1. 2. Сравните с восстановленной базойНа тестовой целевой базе выполните ту же команду. Если отсутствуют только VIEW, проверьте DEFINER и зависимости; если физические таблицы, переходите к содержимому дампа.
  2. Запуск на целевой копии; сравните списки, не только количество
    SQLКоманда
    Запуск на целевой копии; сравните списки, не только количество.
    SHOW FULL TABLES FROM appdb;
  1. 3. Проверьте размер, дату и контрольную сумму дампаНа Linux-хосте найдите исходный файл и проверьте, не оказался ли он усечён. По возможности сравните SHA-256 с контрольной суммой, полученной при передаче файла.
  2. Linux; замените backup.sql
    Linux · Терминал (Bash)Команда
    Linux; замените backup.sql. Команда читает файл, не раскрывайте дамп публично.
    sha256sum backup.sql
  1. 4. Найдите определения пропавших таблицЕсли дамп обычный SQL (не сжат), найдите в нём соответствующие CREATE TABLE. Отсутствие определения может означать фильтр экспорта или повреждённый файл. Для больших архивов сначала распакуйте копию в безопасном каталоге.
  2. Linux/macOS; показываются фрагменты SQL, возможно с чувствительными именами
    Linux · Терминал (Bash)Команда
    Linux/macOS; показываются фрагменты SQL, возможно с чувствительными именами.
    grep -n -m 10 "CREATE TABLE" backup.sql
  1. 5. Проверьте журнал импорта и первое падениеНайдите первую ошибку вида ERROR 1044/1064/1071/1153 и сопоставьте с SQL-строкой. Если импорт ранее выполняли без сохранения stderr, повторяйте только в новой пустой тестовой схеме, вывод направляйте в ограниченный по доступу файл.
  1. 6. Оцените настройки исходного экспортаУбедитесь, что дамп создавался для нужной базы и не исключал таблицы. При восстановлении процедур и событий отдельно оцените параметры --routines и --events; триггеры обычно включены по умолчанию, но права могут ограничивать экспорт.
  1. 7. Повторите восстановление исключительно в тестеСоздайте отдельную пустую тестовую схему с согласованными правами, выполните импорт строго по документированному процессу организации, запишите код завершения и ошибки. Не используйте --force и не отключайте проверку внешних ключей без планирования.
  1. 8. Сравните структуру и контрольные данныеПовторите SHOW FULL TABLES, посмотрите несколько известных записей и число строк по контрольным таблицам; для критичной базы сравните проверки целостности и ключевые связи. Только после успешного теста составляйте план рабочего восстановления.

#Как проверить результат

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

#Если исправление не помогло

Если дамп оказался неполным и исходный сервер недоступен, не создавайте пустые таблицы с прежними именами вместо пропавших данных; ищите другие проверенные резервные копии.

Так эту ошибку тоже называют

Источники и обновления

Для этой статьи пока не указаны источники. Мы отмечаем такие материалы и дополняем их при проверке.

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.