#Что происходит и как определить неисправность
После восстановления WordPress из резервной копии может появиться сообщение о отсутствующих таблицах базы данных. Причина обычно не в «поломке WordPress», а в неполном дампе, ошибочном префиксе, неверной базе в wp-config.php или восстановлении не всех таблиц сети. Не запускайте создание пустых таблиц поверх сохранившихся данных.
#Вероятные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Восстановлен только часть дампаВосстановлен только часть дампа. В базе отсутствуют wp_posts/wp_options или дополнительные таблицы | В базе отсутствуют wp_posts/wp_options или дополнительные таблицы | Сравнить перечень таблиц с полным архивом и повторно импортировать недостающее на копии. |
| Приложение смотрит в другую базу или использует другой префиксПриложение смотрит в другую базу или использует другой префикс. Таблицы есть под прежним префиксом, но WordPress не находит их | Таблицы есть под прежним префиксом, но WordPress не находит их | Сверить DB_NAME, DB_HOST и $table_prefix. |
| Часть таблиц относится к плагину или MultisiteЧасть таблиц относится к плагину или Multisite. Главные таблицы WordPress есть, а ошибается отдельный плагин | Главные таблицы WordPress есть, а ошибается отдельный плагин | Восстановить его схему и данные из согласованной копии. |
#Пошаговая диагностика и исправление
- Зафиксируйте точный текст и последствияОткройте сайт и /wp-admin/, запишите сообщение WordPress/плагина и время появления после восстановления. Если предлагают «установить WordPress», не нажимайте кнопку установки: это может создать новую структуру и усугубить путаницу с существующей БД.
- Сохраните текущее состояние до следующего импортаСоздайте отдельную копию текущей базы и файлов, даже если они частично работают. Сохраните исходный SQL/архив со временем создания. Если резервное копирование не содержало БД, файлы сайта не позволят восстановить записи, пользователей и настройки сами по себе.
- Проверьте, к какой базе подключается WordPressЧерез защищённый файловый доступ откройте wp-config.php и сравните DB_NAME, DB_HOST, DB_USER и $table_prefix с параметрами ранее рабочего сайта. Никогда не публикуйте пароли из файла в чатах и заявках. Проверьте, не переключена ли база в панели хостинга.
- Сверьте список фактических таблицВ phpMyAdmin откройте выбранную базу → «Структура» и проверьте таблицы с выбранным префиксом: *_options, *_posts, *_postmeta, *_users, *_usermeta и остальные штатные. Таблиц может быть больше из-за плагинов. В Multisite перечень отличается: дополнительно проверьте таблицы сети и отдельных сайтов.
- Проверьте исходный дамп прежде чем импортироватьОткройте SQL-файл в редакторе или инструменте просмотра архива, найдите CREATE TABLE для отсутствующих таблиц и данные INSERT для них. Учитывайте, что дамп может быть сжатым; если он содержит только часть таблиц, запросите полную копию у хостинга. Не меняйте кодировку дампа автоматической заменой строк.
- Отделите отсутствие от повреждения таблицыЕсли таблица есть, но чтение возвращает ошибку MySQL, запишите код и текст, а не запускайте произвольный REPAIR TABLE. InnoDB и MyISAM требуют разных подходов; стандартные средства ремонта WordPress не восстановят таблицу, которой вообще нет. Сначала найдите целую резервную копию.
- Восстановите данные сначала на тестовой БДСоздайте новую отдельную базу, импортируйте проверенный полный дамп через phpMyAdmin/инструмент хостинга, подключите тестовую копию сайта. Проверьте префикс, число записей, пользователей и состав таблиц; не перезаписывайте рабочую базу, пока не увидели успешный тест.
- При необходимости выполните выборочное восстановлениеЕсли отсутствуют лишь отдельные таблицы плагина, сравните их структуру и версии по документации разработчика, выгрузите нужные таблицы из совместимого снимка и импортируйте на тестовом стенде. Учтите внешние ключи и связанные записи. Для таблиц ядра предпочтительнее согласованный полный дамп.
- Перенесите проверенную копию с планом откатаВ период обслуживания сохраните последнее состояние, сделайте перенос восстановленной согласованной базы и файлов способом хостинга. Проверьте вход, записи, комментарии, пользователей и функции плагинов. Если появились несоответствия, восстановите первоначальное состояние из сделанной перед операцией копии.
#Как проверить результат
Количество таблиц и префикс соответствуют установленной конфигурации, записи и пользователи восстановились без повторной установки, в журнале SQL нет ошибок отсутствующих таблиц.
#Если не помогло
Если полного дампа нет, не создавайте пустые пользовательские/контентные таблицы: это не вернёт данные. Запросите резервные копии у провайдера и определите точный период потери.