- Задаване на голям innodb_buffer_pool_size (2GB или повече)
- прочетете предварително вашите стари myisam файлове с данни/индекс с помощта на команди на обвивката
- увеличете innodb_log_file_size (256 MB)
- Направете алтер таблицата в X паралелни нишки, където X е количеството CPU ядра на вашия сървър
- други незначителни настройки само за преобразуване (innodb_doublewrite=0, innodb_flush_log_at_trx_commit=0)
задаването на innodb_buffer_pool_size възможно най-високо е типичният начин за ускоряване на създаването на innodb таблици - вашият набор от данни изглежда така, сякаш може да се побере в 2GB innodb буферен пул, така че всеки приличен 64-битов сървър трябва да позволява това. alter table type=innodb също е по-бързо от решението dump+reimport и е лесно за паралелно изпълнение.
Също така се уверете, че сте увеличили innodb_log_file_size от 5Mb по подразбиране на 128 или 256MB. Внимавайте с това и има нужда от чисто изключване + изтриване на стария ib_logfile*.
Ако вашият сървър има нещо като 8 GB RAM и изпълнявате 64-битова версия на mysql, бих предложил 2 GB innodb_buffer_pool и дори можете предварително да прочетете старите MYD и MYI файлове, преди да затворите за престой, така че те да бъдат в Кеша на страницата на ОС, когато започне истинската работа.
Ако се захванете също за незначителни корекции, моля, имайте предвид, че трябва да ги отмените след преобразуването (още един малък престой), за да запазите данните си в безопасност, но се съмнявам, че си заслужават за толкова малък набор от данни.
Успех.