Du kanske vill titta på pt-online -schema-ändring från Percona verktygslåda. Vad den gör är i huvudsak:
- Kopierar den ursprungliga tabellstrukturen, kör ALTER.
- Kopierar rader från gammal tabell till nyskapad.
- Använder utlösare för att spåra och synkronisera ändringar under kopiering.
- När allt är klart byter det tabeller genom att byta namn på båda.
Fungerar mycket bra för enstaka instansdatabaser, men kan vara ganska knepigt om du använder replikering och du inte har råd att stoppa slavar och bygga om dem senare.
Det finns också ett trevligt webbseminarium om detta här .
PS:Jag vet att det är en gammal fråga, bara att svara ifall någon träffar den här via sökmotorn.