AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 9328
Accepted
kfmfe04
kfmfe04
Asked: 2011-12-18 08:01:03 +0800 CST2011-12-18 08:01:03 +0800 CST 2011-12-18 08:01:03 +0800 CST

> 2台机器上的Mysql Master-Master复制拓扑

  • 772

我有 3 个要复制的 Mysql 服务器:两个(包括主服务器)是本地的,一个是远程的。让我们称我的主服务器 A、辅助服务器 B 和远程开发服务器 C。

作为一种可能的配置,我开始阅读有关环形配置的信息。有些评论似乎看不起这种类型的拓扑。

我的问题是,鉴于 Mysql 5.1 的当前状态,哪些类型的主-主拓扑是可取的并且已知是容错的?

一般来说,戒指真的是个坏主意吗?

就我而言,A 和 B 位于一个不会出现任何网络故障的 Intranet 上,因此理论上 B 可以用作 A 的故障转移。大多数时候,我正在使用 C,一台远程机器,有时它在到达 A 和 B 时出现网络故障。目前没有任何数据是关键的(即,只要它们最终被镜像,就可以了),但我希望 A 和 B 能够紧密地镜像 - 在轻负载的 5 秒时间内(考虑到我的初步测试,我认为这应该是一个简单的要求)。

我目前有 B 作为 A 的奴隶,但我期待在 A、B 和 C 上成为 Master-Master。

mysql replication
  • 1 1 个回答
  • 7476 Views

1 个回答

  • Voted
  1. Best Answer
    RolandoMySQLDBA
    2011-12-18T15:38:21+08:002011-12-18T15:38:21+08:00

    在某些条件下,戒指可能是一个非常好的主意

    对于服务器 A、B、C

    服务器 A

    • B硕士
    • C的奴隶

    服务器 B

    • C硕士
    • A的奴隶

    服务器 C

    • 硕士
    • B的奴隶

    三台服务器都有 3 个数据库(db1、db2 和 db3)

    这是保护三个数据库的唯一设置

    • 限制对服务器 A 上 db1 的所有读写
    • 限制对服务器 B 上 db2 的所有读写
    • 限制对服务器 C 上 db3 的所有读写

    复制将执行以下操作

    • 通过复制到 db2 和 db3 备份数据库 db1
    • 通过复制到 db3 和 db1 备份数据库 db2
    • 通过复制到 db1 和 db2 备份数据库 db3

    恕我直言,为 db1 执行写入(插入、更新、删除)到服务器 A、B、C 会使所有 auto_increment 值分开且不同。这会使将数据恢复到其他盒子变得脆弱。

    更多来...

    更新

    我有另一个疯狂的想法

    你听说过星型拓扑吗?我之前发布过关于这个主题的东西

    • https://serverfault.com/questions/264374/mysql-in-star-topology/264444#264444
    • https://stackoverflow.com/questions/5273043/mysql-in-star-topology/5781504#5781504

    创建一个有两个从属的主控

    对于服务器 A、B、C

    服务器 A

    • B和C硕士
    • 所有表都使用存储引擎 BLACKHOLE

    服务器 B

    • A的奴隶
    • 所有用户表都使用存储引擎 InnoDB

    服务器 C

    • A的奴隶
    • 所有用户表都使用存储引擎 InnoDB

    好处

    • 发布所有写入(插入、更新、删除)以服务于 A
    • 写入应该很快,因为 BLACKHOLE 表映射到 /dev/null
    • 复制实际在从属服务器(服务器 B 和服务器 C)上发布真实数据
    • 服务器 A 中没有实际数据,只有二进制日志
    • 所有 SELECT 都可以通过负载均衡器在服务器 B 和服务器 C 之间传输
    • 奴隶的内容实际上是相同的

    缺点

    • 一旦你设置了这个,你就不能自由地使用 ALTER TABLE 语句
    • 如果服务器 A 的复制中断,它将停止更新从站
    • 5

相关问题

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

  • 组如何跟踪数据库架构更改?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve