2

我对 MySQL 复制比较陌生。简而言之,我在 3 台 Ubuntu Lucid Lynx 服务器上有一个 MySQL 5.1 服务器实例。

ATM 我有服务器 A (MASTER),它将单个数据库复制到服务器 C (SLAVE)。

这已经运行了几个月没有问题。

我现在想让服务器 B(作为 MASTER)将不同的单个数据库复制到服务器 C(SLAVE)。

我正在考虑实现这一点,但我最初的阅读似乎表明复制从服务器不能有两个主服务器。

我的问题是,即使只复制单个数据库或选择数据库,也是这种情况吗?

请记住,我希望从不同的 master 复制相同的数据库。我只是希望从单独的主机复制多个单独的数据库在单个服务器上。

4

2 回答 2

3

您可以在 MySQL 中为每个数据库设置不同的 master。

这本书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?

于 2011-05-26T13:49:11.520 回答
1

一般来说,你不能这样做。您不能从多对一复制(您可以从一对多复制)。

此外,您实际上不能只复制一个数据库 - 基于语句模式的跨数据库更新然后变得不可复制,这意味着一旦有人在主服务器上执行更新,您的从服务器就会失败(或变得不同步)。

标准解决方案是安装多个 mysql 实例,这远非理想,但有效。

于 2011-05-26T14:23:49.930 回答