MariaDb 主从故障转移

Rob*_* G. 3 mariadb

我有一个与 MariaDb 实例相关的业务需求,该实例应该在具有故障转移的主从配置中工作。

查看我所看到的文档,可以配置多集群主(galera)或简单的主从副本。

任何配置主从+故障转移的建议?

非常感谢罗伯托

mwp*_*mwp 5

MySQL/MariaDB 主从复制非常适合处理读取繁重的工作负载。它还用作提高数据库可用性的冗余策略和备份策略(即在从属设备上拍摄快照/备份以避免中断主设备)。如果您不需要具有所有麻烦的多主解决方案(即使使用 MySQL Cluster 或 MariaDB Galera Cluster),这是一个不错的选择。

配置需要一些努力。有几个指南包含相互冲突的信息(例如 MySQL 与 MariaDB、位置与 GTID)和几个可能影响您的实现的决策点(例如行与语句 binlog 格式、存储引擎选择),您可能需要拼接将不同的部分组合在一起形成您的最终解决方案。我在 MariaDB 10.1(GTID,行二进制日志格式)和混合 MyISAM 和 InnoDB 存储引擎方面很幸运。我在每个从属主机上创建一个从属用户,并且不复制mysql数据库。天啊。本指南是一个很好的起点,但它并没有真正涵盖GTID

故障转移是一个完全独立的蜡球。您将需要某种反向代理(例如MaxScale或 HAproxy)或在您的主服务器前面的浮动 IP 地址,以便根据主服务器的变化进行调整。(可能有一种方法可以在客户端执行此操作,但我不会推荐它。)必须监视集群的健康状况,并且当需要将一个从属设备提升为新的主控设备时,有一个整体必须执行的步骤顺序。MySQL 提供了一个名为mysqlfailover的实用程序来简化此过程,但据我所知,它与 MariaDB 不兼容。相反,您可以查看replication-manager,它似乎是 MariaDB 对 mysqlfailover 的基于 Go 的回答。它似乎是一个非常复杂的工具。