Как быстро изменить схему таблиц?
есть 2 проверенных варианта:
1) github gh-ost. 
2) percona toolkit

обе создадут новую таблицу, и дальше начнут переливать в нее все данные (не мешая при этом работе старой). в момент когда обе таблицы дойдут до одинакового состояния- они поменяются местами. 
разница в том, как они работают.

percona toolkit - работает через триггеры. потому мигрировать таблицу для которой уже есть триггеры не выйдет. но зато она работает быстрее

gh-ost - читает бинлог. соотв. будет работать даже если есть триггеры, но работать будет медленно (в моем случае он переливал данные с где-то с такой-же скоростью как они добавлялись)

в итоге я в свое время использовал для миграций перкону. миграции мелких таблиц в пару гигабайт проходили в течении 10-15 минут незаметно для бекенда.
https://www.percona.com/doc/percona-toolkit/3.0/pt...

умеет разбивать alter table на мелкие chunks и не мешает работать с базой