- Configurando um innodb_buffer_pool_size grande (2 GB ou mais)
- pré-leia seus antigos arquivos de dados/índice do myisam usando comandos shell
- aumentar innodb_log_file_size (256 MB)
- Faça a alter table em X threads paralelos, onde X é a quantidade de núcleos de CPU em seu servidor
- outros pequenos ajustes apenas para conversão (innodb_doublewrite=0, innodb_flush_log_at_trx_commit=0)
definir innodb_buffer_pool_size o mais alto possível é a maneira típica de acelerar a criação de tabelas innodb - seu conjunto de dados parece caber dentro de um pool de buffer innodb de 2 GB, portanto, qualquer servidor decente de 64 bits deve permitir isso. alter table type=innodb também é mais rápido que a solução dump+reimport e é fácil de executar em paralelo.
Certifique-se também de aumentar o innodb_log_file_size do padrão de 5 MB para 128 ou 256 MB. Cuidado com isso, e ele precisa de um desligamento limpo + apagando o antigo ib_logfile*.
Se o seu servidor tiver algo como 8 GB de ram e você executar uma versão de 64 bits do mysql, sugiro um innodb_buffer_pool de 2 GB, e você pode até pré-ler os arquivos MYD e MYI antigos antes de fechar para o tempo de inatividade, para que eles fiquem no Cache de página do SO quando o trabalho real começa.
Se você também optar por pequenos ajustes, lembre-se de desfazê-los após a conversão (outro pequeno tempo de inatividade) para ter seus dados seguros, mas duvido que valha a pena para um conjunto de dados tão pequeno.
Boa sorte.