Как починить и оптимизировать InnoDB таблицы в базе данных?

В случае поломки базы данных на таблицах с типом MyISAM вы можете зайти в phpMyAdmin и выполнить в нем проверку\починку\оптимизацию. Скрипт phpMyAdmin установлен у 99% хостеров, поэтому с этим проблем не возникнет. Но что делать, если база данных сломалась, а phpMyAdmin отказывается ее чинить, выдавая сообщение «The storage engine for the table doesn’t support repair»? Такое сообщение phpMyAdmin выдаст, так как не умеет чинить InnoDB таблицы.

Починка базы данных

На самом деле паниковать рано — в WordPress есть свой собственный скрипт починки базы данных, который работает с любым типом таблиц. Для активации этого скрипта вам необходимо добавить в файл wp-config.php вашего сайта следующий код: 


define('WP_ALLOW_REPAIR', true);

Запустить ремонт базы данных вы сможете по ссылке вида:


http://www.вашсайт.ru/wp-admin/maint/repair.php

Откроется вот такая страница:
Утилита WordPress для починки базы данных
Эта страница будет доступна без авторизации на сайте — потому, что при проблемах с базой данных велика вероятность того, что вы не сможете авторизироваться на сайте. Поэтому после починки базы данных вы должны будете убрать из файла wp-config.php добавленную вами директиву, чтобы исключить возможность несанкционированного доступа к скрипту починки базы данных.

Не забывайте, что регулярный бэкап базы данных будет куда надежнее любого скрипта починки базы данных, так как нет никакой гарантии, что скрипт сможет починить вашу базу данных (он лишь исправляет ошибки базы данных, а не восстанавливает физически уничтоженную информацию).