MySQL slave 可以同时做 master 吗?

mma*_*tax 20 mysql mysql-replication

我正在将 2 个数据库服务器(主和从)迁移到两个新的数据库服务器(主和从)

DB1 - 主(生产)

DB2 - 从(生产)

DB3 - 新主

DB4 - 新从

目前我将复制设置为:

DB1 -> DB2
DB3 -> DB4
Run Code Online (Sandbox Code Playgroud)

为了将生产数据复制到新服务器,我想将它“菊花链”,使其看起来像这样:

DB1 -> DB2 -> DB3 -> DB4
Run Code Online (Sandbox Code Playgroud)

这可能吗?当我show master status;在 DB2(生产从站)上运行时,binlog 位置似乎永远不会改变:

+-----------------+----------+--------------+---- --------------+
| 档案 | 职位 | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+----------+--------------+---- --------------+
| mysql-bin.000020 | 98 | | |
+-----------------+----------+--------------+---- --------------+

我有点困惑为什么 DB2 上的 binlog 位置没有改变,理想情况下它将成为 DB3 的主控。

mma*_*tax 19

binlog onDB2没有更新从属更新。要菊花链复制,必须log-slave-updates在 my.conf 中进行设置。

http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_log-slave-updates


Mar*_*mos 11

是的,这是可能的:) 这被称为“带有中继从属的主”复制,网上有很多关于它的文档。

我建议您在这里查看官方文档。

顺便说一句,也看看这些幻灯片。他们有一些关于复制拓扑的提示。

希望这可以帮助。