Реплицируйте только некоторую таблицу (replicate-do-table) в Cloud SQL (MySQL) - PullRequest
0 голосов
/ 15 мая 2019

Итак, я создал облачную SQL (MySQL) DB somedb и ее реплику чтения somedb-replica, как я могу реплицировать только некоторые из ее таблиц (например, replicate-do-table)?

хочу сделать

replicate-do-table=somedb.table1
replicate-do-table=somedb.table2

1 Ответ

2 голосов
/ 15 мая 2019

Боюсь, это невозможно, по крайней мере, так, как вы предлагаете. Чтобы применить фильтры репликации к реплике чтения, вам потребуется либо передать флаг --replicate-do-table=somedb.sometbl при запуске экземпляра реплики, либо подключиться к экземпляру позже и выполнить команду CHANGE REPLICATION FILTER REPLICATE_DO_TABLE = somedb.sometbl (доступно из MySQL 5.7).

  1. Теперь, что касается первого варианта, на этой странице Документов CloudSQL перечислены все флаги, с которыми вы можете запустить экземпляр Cloud SQL MySQL. Пока вы не можете установить параметр replicate-do-table, поэтому первый вариант невозможен.
  2. А для второго варианта вам нужны привилегии SUPER . В CLoudSQL даже пользователь root не имеет привилегий SUPER . Так что этот вариант также невозможен.
...