我已将主数据库名称设置为 MDB,并在从属服务器中将其设置为 replicate-do-db=SDB,但这不起作用。但当我将其设置为相同的数据库名称时,它就可以正常工作。有没有解决方案可以在同一台服务器上设置一个主数据库和两个不同的从属数据库?
答案1
您的问题看起来有些混乱,因为您似乎在谈论两件完全不同的事情。
- 主服务器和从服务器复制具有不同名称的数据库 - 不起作用,因为数据库名称是标识符。
- 在同一台机器上拥有一个主服务器和一个或多个从服务器 - 没问题,只需在不同的端口上运行它们即可。
答案2
MySQL 复制是针对每个服务器的,而不是针对每个数据库的。
数据库只是相关表的目录;它不应被视为任何其他东西。复制总是复制数据库名称以及表名称。
您可以从一台服务器复制到同一台主机上的另一台服务器(运行多个 mysql 实例没有问题)。
您不能、也不应该想要复制到同一服务器内的不同目录。
答案3
从属数据库必须与主数据库相同。从属数据库应出现在不同的服务器上。如果您希望从属数据库与主数据库出现在同一个服务器框中,您可能需要考虑可视化。但是,我怀疑可视化从属数据库是否是一个有效的想法。如果可视化看起来很有吸引力,您可能需要重新考虑您的服务器布局。
答案4
这直接来自文档。
replicate-rewrite-db=slavedb->masterdb 我知道这个有效,我刚刚设置它并且它正在工作