主-主复制 [Percona]

问题描述 投票:0回答:2

请原谅我的无知,但我没有太多使用 MySQL 的经验。我是一名 Web 开发人员,但总的来说,我几乎刚刚安装了 MySQL 或启动了一个 RDS 实例,连接到它,一切都正常。然而,我目前的任务是创建主服务器的完整备份(通过负载均衡器等实现本质上的高可用性)。所以我想现在可能是改变 MySQL 设置方式以利用 2 个服务器的好时机。目前,我们的 MySQL 位于我们的主服务器上,并且目前可能会保持这种状态,但是我的新设置目标是拥有 2 个相同的服务器,两者都运行应用程序,并且都具有完全相同的 MySQL 数据结构/数据。我希望能够在一台服务器上打开 Web 应用程序,进行更改,在另一台服务器上查看它,反之亦然。

从我的研究看来,我想要的被称为“主主复制”,但是这似乎是一种更旧/更过时的方法?我读到的每一篇文章都是 2010-2012 年左右的,大多数人都说它已经贬值了,我应该使用 Percona XtraDB Cluster、MySQL Group Replication 或 Galera Cluster 等。我基本上不知道这意味着什么,我正在寻找让主-主类型设置工作的最简单方法。最重要的是,即使我想使用常规的主主复制,这似乎也是 MySQL 特有的,而不是我实际使用的 Percona。

我对开发操作了解很多,并且可以立即启动并运行除 MySQL 之外的所有内容,但我希望了解实现此目的的最佳方法。目前服务器运行的是 Centos 7、Percona 5.7、Apache 2.4。

mysql high-availability percona percona-xtradb-cluster
2个回答
1
投票

我们首先要澄清一件事。 Percona 是 MySQL。如果某个功能在 Oracle MySQL 上可用(我在这里指的是社区版本),那么它在 Percona 上也可用。将两者想象成一个蛋糕:MySQL 是基础“蛋糕”,Percona 是上面的糖霜/糖粉等。

话虽如此,您绝对可以使用 Percona MySQL 进行 Master/Master 操作。标准/最佳实践是在主动/热备状态下配置此功能。意思是,不要同时写入两个节点。您的应用程序或中间件/代理必须将写入隔离到仅一个节点。当/如果复制中断时,这将让您免去令人头痛的麻烦。

ProxySQL 不是 Percona 产品,但我们确实 100% 支持它。您可以将 ProxySQL 放在 M/M 前面,并设置正确的查询规则以仅路由到一个 MySQL。

您说得对,这里最现代的解决方案,在我看来,也是一个更简单的解决方案,是设置一个 3 节点 Percona XtraDB 集群 (PXC)。再说一遍,Galera MySQL 是“蛋糕”,而 PXC 是上面的所有附加功能。组复制是馅饼(只是为了继续类比。)

我们认为以 ProxySQL 为前端的 3 节点 PXC 是 MySQL 的最佳 HA 解决方案之一。最佳实践仍然是只写入一个节点,并利用其他 2 个节点进行只读查询。如果主节点出现故障,其他两个节点都会拥有最新的数据副本。同样,如果主数据库出现故障,ProxySQL 会帮助路由流量。

可以使用 Percona XtraBackup 以非阻塞/热方式从任何 PXC 节点获取备份。


0
投票

最简单的开始方法是使用 proxysql 设置 percona xtradb 集群。

Percona xtradb 集群可以处理基本 MySQL 源-源复制中存在的所有问题。
Galera 和 Percona Xtradb Cluster 是相同的,因为它们使用相同的 galera 插件,只是 Percona 对其进行了定制并添加了一些额外的功能,例如内置 proxysql(一种数据库负载均衡器)。

© www.soinside.com 2019 - 2024. All rights reserved.