我对MySQL复制相对较新。简而言之,我在3台Ubuntu Lucid Lynx服务器上安装了一个MySQL 5.1服务器实例。
ATM我有服务器A(MASTER),它将单个数据库复制到服务器C(SLAVE)。
这已经运行了几个月没有问题。
我现在希望服务器B(作为MASTER)将不同的单个数据库复制到服务器C(SLAVE)。
我正在考虑实现这个,但我的初始读数似乎表明复制从服务器不能有两个主服务器。
我的问题是,即使只复制单个数据库或选择数据库,情况也是如此?
请记住,不希望从不同的母版复制相同的数据库。我只是希望在单个服务器上复制多个单独的数据库,而不是单独的主服务器。
答案 0 :(得分:3)
您可以在MySQL中为每个数据库设置不同的主数据。
这本书high performance MySQL
有一个关于这个问题的完整章节。我建议抓住副本并使用其中的信息。
http://oreilly.com/catalog/9780596101718/
您可以在此在线阅读相关章节的副本:
http://oreilly.com/catalog/hpmysql/chapter/ch07.pdf
这是第一版,第二版更新,但第8章处理复制不是免费在线提供的。
<强>更新强>
我正在谈论的解决方案仅在本书的第2版中,请参阅这个类似问题的答案:Is it possible to do N-master => 1-slave replication with MySQL?
答案 1 :(得分:1)
一般情况下,你不能这样做。你不能从多对一复制(你可以从一对多)。
此外,您不能真正复制一个数据库 - 基于语句的模式中的跨数据库更新然后变得无法复制,这意味着只要有人在主服务器上执行了一个数据库,您的服务器就会失败(或变得不同步)。
标准解决方案是安装多个mysql实例,这远非理想,但可以工作。