【 TiDB 使用环境】 Poc
【 TiDB 版本】7.3
dm/v1.13.0
mysql5.7.30
CentOS Linux release 7.5.1804 (Core)
需求:迁移源 “clover”,"db01"这两个全库。。test库下的k表。
如图33编写yml、或者图66页面配置的方式复现问题。
迁移源 “clover”,"db01"这两个全库。。test库下的k表。
block-allow-list:
bw-rule-1: # 名称
do-dbs: ["clover","db01"]
do-tables: # 需要迁移的上游表的白名单。
- db-name: "test" # 需要迁移的表的库名。
tbl-name: "k" # 需要迁移的表的名称。
折腾的第二天,小伙伴跟我说用网页向导。网页向导生成的配置文件一样,但同样是没有任何错误,数据没有迁移。
详情为什么没有
![:roll_eyes: :roll_eyes:](https://asktug.com/images/emoji/apple/roll_eyes.png?v=12)
另外,不支持多个库迁移吗?
人傻了吧
迁移两个库
tables里却写test的 l表
do-dbs: ["clover","db01"]
do-tables: # 需要迁移的上游表的白名单。
- db-name: "test" # 需要迁移的表的库名。
tbl-name: "k" # 需要迁移的表的名称。
迁移 “clover”,"db01"这两个全库。。test库下的k表。
do-dbs写了多个(不过滤table)就没有数据了。
do-dbs: [“test”,“clover”,“db01”]
do-tables:
- db-name: “test”
tbl-name: “k”
- db-name: “clover”
tbl-name: “*”
- db-name: “db01”
tbl-name: “*”
要这样写吧,符合你的 迁移 “clover”,"db01"这两个全库。。test库下的k表。
mysql-instances:
-
# 上游实例或者复制组 ID。
source-id: "mysql-01"
# 需要迁移的库名或表名的黑白名单的配置项名称,用于引用全局的黑白名单配置,全局配置见下面的 `block-allow-list` 的
配置。
block-allow-list: "bw-rule-1"
# 黑白名单全局配置,各实例通过配置项名引用。
block-allow-list:
bw-rule-1: # 名称
do-dbs: ["db01","clover","test"]
do-tables: # 需要迁移的上游表的白名单。
- db-name: "test" # 需要迁移的表的库名。
tbl-name: "k2" # 需要迁移的表的名称。
- db-name: "db01"
tbl-name: "*"
- db-name: "clover"
tbl-name: "*"
tiup dmctl --master-addr 10.70.20.57:8261 stop-task task1.yaml
tiup dmctl --master-addr 10.70.20.57:8261 operate-source stop source1.yaml
tiup dmctl --master-addr 10.70.20.57:8261 operate-source create source1.yaml
tiup dmctl --master-addr 10.70.20.57:8261 start-task task1.yaml
tiup dmctl --master-addr 10.70.20.57:8261 query-status task1.yaml
一样没有出错,没有数据。
dba-kit
(张天师)
20
你到上游MySQL上,看下DM用户的权限是什么?有没有包含test库