L'ho trovato sul manuale di mysql http://dev.mysql .com/doc/refman/5.1/en/alter-table.html :
Quindi sì, è difficile ridurre al minimo i tempi di inattività mentre si esegue questa operazione. Dipende dal profilo di utilizzo della tua tabella, ci sono più letture/scritture?
Un approccio che mi viene in mente è quello di utilizzare una sorta di replica. Quindi crea una nuova tabella di avviso che utilizzi UTF-8 e trova un modo per replicare la tabella originale in quella nuova senza influire sulla disponibilità / throughput. Quando la replica è completa (o abbastanza vicina), cambia la tabella rinominandola?
Ovviamente è più facile a dirsi che a farsi:serve più apprendimento se è possibile.