TiDB Lightning 表库过滤
这些过滤规则与 MySQL 的 /replication-rules-table
类似。
- 否则,如果数据库名称匹配
ignore-dbs
列表中任何一项,数据库会被略过。
如果匹配项首字符为 ~
,它会被解析为 Go 语言的正则表达式。否则会视为普通的字串来匹配数据库名称。
- 如果
do-tables
列表不为空,- 如果表的限定名称匹配
do-tables
列表中任何一对,则表会被导入。 - 否则,表会被略过。
- 如果表的限定名称匹配
- 如果表的限定名称同时匹配
do-tables
和ignore-tables
列表,表会被导入。
注意:
以下例子演示过滤规则的操作原理。假设数据源包含这些表:
我们使用以下设置:
然后进行表过滤:
表 | 结果 |
---|---|
`logs`.`messages_2016` |
略过(规则 E) |
`logs`.`messages_2017` |
略过(规则 E) |
`logs`.`messages_2018` |
导入(规则 D)(不会考虑规则 E) |
`forum`.`users` |
略过(do-tables 不为空,且没有匹配的项目) |
`forum`.`messages` |
导入(规则 F)(不会考虑规则 E) |
`forum_backup_2016`.`messages` |
略过(数据库已被剔除) |
`forum_backup_2017`.`messages` |
略过(数据库已被剔除) |
`forum_backup_2018`.`messages` |
导入(规则 F)(不会考虑规则 E) |
略过(数据库已被剔除) |