Мы используем несколько реплицированных серверов баз данных для внесения таких изменений.
В нашем случае db1 - это мастер, реплицированный на db2 .(db1-> db2).
Начните с изменения db2.Если что-то блокируется, репликация остановится, но это нормально.
Переместите ваш трафик на db2.Любой остаточный трафик, поступающий на db1, будет реплицироваться, поэтому вы ничего не потеряете.
Как только на db1 не будет трафика, перестройте его как ведомого db2 (db2-> db1).
Это общая идея, и вы получаете очень мало времени простоя, и вам не нужно тянуть всю ночь!На самом деле у нас есть три сервера, так что это немного сложнее, но не намного.
Удачи.