Mariadb - как удалить раздел на мастере, но не на ведомом

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

Как мне сделать ALTER TABLE ... DROP PARTITION на главном устройстве без репликации на подчиненные устройства?

Мне кажется, что я как-то должен дать мастеру указание не записывать эту операцию в bin-log, но как мне это сделать?

Я не думаю, что вы сможете сделать это в репликации. Документ MariaDB об этом не ясно, но Документ MySQL

Thomas G 10.09.2018 09:55
0
1
93
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Изменение таблицы, чтобы сделать ее отличной для Master и Slave, вызывает проблемы. Последующие операции могут завершиться неудачно из-за различий. Пусть покупатель будет бдителен.

SET sql_log_bin = OFF;
ALTER ...;             -- or any other statement
SET sql_log_bin = ON;

Это запускает запрос на ведущем устройстве, но не помещает его в поток репликации, тем самым предотвращая его выполнение на ведомом (-ах).

https://dev.mysql.com/doc/refman/8.0/en/set-sql-log-bin.html

Я уверен, что MariaDB работает так же, как MySQL.

Если вы используете какой-то «кластер», например Galera, то почитайте про TOI и RSU. http://galeracluster.com/documentation-webpages/schemaupgrades.html

Другие вопросы по теме