данные реплицируются в Мастер1
сейчас мне надо добавить столбец
ALTER TABLE my_table
ADD col INT
могу ли я это выполнить на Мастер1? (потом это уйдёт в Мастер2)
тут
https://dev.mysql.com/doc/refman/8.0/en/replication-features-differing-tables.html
вроде расписано, но непонятно как поведёт себя система в ситуации Мастер-Мастер
я делал не совсем такую, но похожую операцию на простом мастер-мастер, через отключение бинлога, на каждом инстансе, альтеринге каждого инстанса в отдельности, с временной остановкой репликации. если приложение не будет пытаться прочитать/записать новый столбец, по идее развалиться не должно, но я рекомендую экспериментировать только в тестовом окружении
настроил локально в докере второй реплицируемый мастер - приостановил репликацию - на основном мастере сделал ALTER - на второй машинке, поизменял данные (т.е. в бинлоге старый формат таблицы) - включил репликацию на второй машине, появился столбец - включил на основной, появились данные всё прошло замечательно, спасибо всем кто участвовал в обсуждении
Обсуждают сегодня