在云 SQL (MySQL) 上仅复制一些 table (replicate-do-table)

Replicate only some table (replicate-do-table) on Cloud SQL (MySQL)

所以我创建了一个 Cloud SQL (MySQL) DB somedb 及其只读副本 somedb-replica,如何才能只复制其中的一部分 table(例如replicate-do-table)?

我想做

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

恐怕这是不可能的,至少在你提议的方式上是不可能的。要将复制过滤器应用于只读副本,您需要在启动副本实例时传递 --replicate-do-table=somedb.sometbl 标志,或者稍后连接到实例并发出命令 CHANGE REPLICATION FILTER REPLICATE_DO_TABLE = somedb.sometbl(可从 MySQL 5.7).

  1. 现在,关于第一个选项,CloudSQL docs 的此页面列出了您可以用来启动 Cloud SQL MySQL 实例的所有标志。到目前为止,你无法设置replicate-do-table选项,所以第一个选项不可行。
  2. 对于第二个选项,you need SUPER privileges. In CLoudSQL, not even the root user has SUPER privileges。所以这个选项也不可行