Spec-Zone .ru
спецификации, руководства, описания, API

5.5.7. Как Работы Восстановления Катастрофического отказа с Онлайновым DDL

Хотя никакие данные не теряются, если сервер отказывает в то время как ALTER TABLE оператор выполняется, процесс восстановления катастрофического отказа отличается для кластерных индексов, и вторичный индексирует.

Если сервер отказывает, в то время как создание вторичного InnoDB индексирует после восстановления, MySQL отбрасывает, любой частично создаваемый индексирует. Следует запустить повторно ALTER TABLE или CREATE INDEX оператор.

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

MySQL создает новый кластерный индекс, копируя существующие данные от исходной таблицы InnoDB до временной таблицы, у которой есть требуемый, индексируют структуру. Как только данные полностью копируются в эту временную таблицу, исходная таблица переименовывается с различным именем временной таблицы. Временная таблица, включающая новый кластерный индекс, переименовывается с именем исходной таблицы, и исходная таблица отбрасывается от базы данных.

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