mysql - 在 Cloud SQL (MySQL) 上仅复制某些表 (replicate-do-table)
问题描述
所以我创建了一个 Cloud SQL (MySQL) DBsomedb
和它的只读副本somedb-replica
,我怎样才能只复制它的一些表(比如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 获得)。
- 现在,关于第一个选项, CloudSQL 文档的这个页面列出了您可以用来启动 Cloud SQL MySQL 实例的所有标志。到目前为止,您无法设置
replicate-do-table
选项,因此第一个选项是不可行的。 - 对于第二个选项,您需要 SUPER 特权。在 CLoudSQL 中,即使是 root 用户也没有 SUPER 权限。所以这个选项也是不可行的。
推荐阅读
- python - 如何修复错误?TypeError: 不支持的操作数类型 -: 'tuple' 和 'int'
- java - JAVA:使用树形图方法获取对象的变量
- python - nltk.pos_tag 和 nltk.word_tokenize - 列表列表
- mysql - 仅返回多个重复父 ID 的子表上最后插入的父 ID
- flutter - 相机预览显示拉伸的图像,当高度降低时颤动
- python - 如何在 streamlit 中获得两个月年日期之间的差异?
- python - TypeError:“int”对象在不同大小的列表上不可下标
- snowflake-cloud-data-platform - 雪花任务 - 可视化层次结构
- java - 按行排序矩阵并保留索引
- python - Selenium 网页抓取:如何在响应式网站上查找元素