我已将主数据库名称设置为MDB&在Slave服务器中我设置为replicate-do-db = SDB< - 这不起作用?但是,当我将其设置为相同的DB名称时,它可以工作。是否有任何解决方案可以设置1个主数据库与2个不同的从服务器,但在同一服务器??
答案 0 :(得分:10)
您需要指定replicate-rewrite-db
选项:
--replicate-rewrite-db=from_name->to_name
告诉slave转换默认数据库(即一个 如果是主服务器上的from_name,则由USE选择to to_name。只要 涉及表的语句会受到影响(不是语句等 创建数据库,DROP DATABASE和ALTER DATABASE),并且仅限于 from_name是主服务器上的默认数据库。这不起作用 用于跨数据库更新。要指定多个重写,请使用此选项 选项多次。服务器使用带有from_name的第一个 匹配的价值。数据库名称转换在之前完成 --replicate- *规则已经过测试。
如果您只复制某些数据库,则需要指定replicate-do-db
。请注意,此参数是replicate-rewrite-db
:
--replicate-do-db=db_name
答案 1 :(得分:0)
将以下内容添加到MySQL配置文件(/etc/mysql/my.cnf)的日志记录和复制部分,我在 relay-log 上方插入了我的。
replicate-rewrite-db = db_1->db_2
将 db_1 替换为从远程主服务器复制的数据库名称,将 db_2 替换为目标数据库的名称。
/etc/init.d/mysql restart
)mysql -h localhost -u root -p
)SHOW SLAVE STATUS\G
)