14.10.7 How Crash Recovery Works with Online DDL

If the server crashes while creating an InnoDB secondary index,
upon recovery, MySQL drops any partially created indexes. You must
re-run the ALTER TABLE or
CREATE INDEX statement.

When a crash occurs during the creation of an InnoDB clustered
index, recovery is more complicated, because the data in the table
must be copied to an entirely new clustered index. Remember that
all InnoDB tables are stored as clustered indexes.

MySQL creates the new clustered index by copying the existing data
from the original InnoDB table to a temporary table that has the
desired index structure. Once the data is completely copied to
this temporary table, the original table is renamed with a
different temporary table name. The temporary table comprising the
new clustered index is renamed with the name of the original
table, and the original table is dropped from the database.

If a system crash occurs while creating a new clustered index, no
data is lost, but you must complete the recovery process using the
temporary tables that exist during the process. Since it is rare
to re-create a clustered index or re-define primary keys on large
tables, or to encounter a system crash during this operation, this
manual does not provide information on recovering from this
scenario.