MySQL implementiert ALTER TABLE
als Tabelle neu erstellen, so dass zwei Kopien der Tabelle zu irgendeinem Zeitpunkt während des Prozesses auf dem System vorhanden ist. Sie benötigen mehr als 12 GB freien Speicherplatz für diesen Vorgang.
Geben Sie etwas Platz frei. Alternativ können Sie Ihren Server so einstellen, dass er ein anderes temporäres Verzeichnis verwendet , wenn genügend vorhanden ist Raum.
Alternative zur Alternative (die WHILE
muss möglicherweise in eine gespeicherte Prozedur eingeschlossen werden):
temp_table
) mit der neuen Struktur original_table
in temp_table
original_table
und umbenennen temp_table
Wenn Ihre Tabelle InnoDB verwendet, ist eine ausführlichere Lösung mit SELECT ... FOR UPDATE;
anstelle von Tabellensperren möglich, aber ich vertraue darauf, dass Sie auf die Idee kommen.
Tags und Links mysql