MySQL将服务器中的一个db设置为slave

pos*_*ich 3 mysql replication

我有两个 MySQL 服务器(A 和 B)在不同的机器上运行。我想将 A 上的数据库 X 复制到 B。B 仍然是其他数据库的主数据库。我如何设置它以便 B 只为 X 服务,而为其他人服务?我目前将 A 配置为仅replicate-do-dbs=x.

Der*_*ney 5

为此,您不想在Master A服务器上进行任何过滤。相反,您将希望在从站上使用复制过滤器,Server B

要全面了解复制过滤器,请通读本文档及其子链接。我将强调两个警告(强调我的):

在 master 上,您可以通过使用 --binlog-do-db 和 --binlog-ignore-db 选项来控制二进制日志记录来控制要记录更改的数据库.....您不应该使用这些选项来控制哪些数据库数据库和表被复制。相反,在从站上使用过滤来控制在从站上执行的事件。

为了更容易确定选项集将产生什么效果,建议您避免混合使用“do”和“ignore”选项,或通配符和非通配符选项。

有了这两条信息,我建议server B使用--replicate-wild-do-table=db_name.%. 这是因为:

如果您需要跨数据库更新工作,请改用 --replicate-wild-do-table=db_name.%。 [源代码]