首页 > 解决方案 > 如何使用mysql在单个数据库中复制十个数据库表

问题描述

我们使用 MYSQL,因为我们有 10 个数据库作为单个项目。我的问题是使用复制将 10 个数据库表自动合并到单个数据库中。

例如:
主数据库

数据库
1 ....表 1
....表2

数据库
2 ....table21
....table22

数据库
3 ....table31
....table33

复制数据库

从数据库
....table1
....table2
....table21
....table22
....table31
....table33

标签: mysqldatabasedatabase-replication

解决方案


你可以使用--replicate-rewrite-db它。

告诉从属服务器创建一个复制过滤器,如果它是主服务器上的 from_name,则将默认数据库(即由 USE 选择的数据库)转换为 to_name。只有涉及表的语句会受到影响(不包括 CREATE DATABASE、DROP DATABASE 和 ALTER DATABASE 等语句),并且只有当 from_name 是 master 上的默认数据库时。要指定多次重写,请多次使用此选项。服务器使用第一个匹配的 from_name 值。数据库名称转换在 --replicate-* 规则测试之前完成。您还可以通过发出 CHANGE REPLICATION FILTER REPLICATE_REWRITE_DB 语句来创建这样的过滤器。

在此处阅读更多相关信息。


推荐阅读