Možná se budete chtít podívat na pt-online -schema-change ze sady nástrojů Percona. V zásadě to dělá:
- Zkopíruje původní strukturu tabulky, spustí ALTER.
- Kopíruje řádky ze staré tabulky do nově vytvořené.
- Používá spouštěče ke sledování a synchronizaci změn během kopírování.
- Když je vše hotovo, prohodí tabulky přejmenováním obou.
Funguje velmi dobře pro databáze s jednou instancí, ale může to být docela složité, pokud používáte replikaci a nemůžete si dovolit zastavit slave a později je znovu vytvořit.
K dispozici je také pěkný webinář o tomto zde .
PS:Vím, že je to stará otázka, odpovídám na ni pro případ, že by na ni někdo narazil přes vyhledávač.