我有一个与MariaDb实例相关的业务需求应该在主从配置中进行故障转移。
查看我看到的文档,可以配置多集群主机(galera)或简单的主从副本。
是否有任何建议配置主从+故障转移?
非常感谢提前 罗伯特
答案 0 :(得分:3)
MySQL / MariaDB主从复制非常适合处理读取繁重的工作负载。它还用作冗余策略以提高数据库可用性,并用作备份策略(即在从站上执行快照/备份以避免中断主站)。如果您不需要具有所有令人头疼的多主解决方案 - 即使使用MySQL Cluster或MariaDB Galera Cluster - 它也是一个很好的选择。
配置需要一些努力。有几个指南存在冲突的信息(例如MySQL与MariaDB,位置与GTID)和几个可能影响您的实现的决策点(例如行与语句binlog格式,存储引擎选择),您可能需要缝合各种碎片组合在一起,形成您的最终解决我对MariaDB 10.1(GTID,行binlog格式)和混合MyISAM和InnoDB存储引擎运气不错。我在每个slave的主服务器上创建一个slave用户,并且我不复制mysql
数据库。因人而异。这个guide是一个很好的起点,但它并不真正涵盖GTID。
故障转移是一个完全独立的蜡球。您需要在主服务器前面使用某种反向代理(例如MaxScale或HAproxy)或浮动IP地址,以便调整主服务器更改。 (可能有一种方法可以在客户端执行此操作,但我不建议使用它。)必须要监视集群的运行状况,并且当需要将新服务器提升为新主服务器时,有一个整体必须执行的步骤序列。 MySQL提供了一个名为mysqlfailover的实用程序来促进这个过程,但据我所知,它与MariaDB不兼容。相反,您可以查看replication-manager,这似乎是MariaDB基于Go的mysqlfailover答案。它似乎是一个非常复杂的工具。
答案 1 :(得分:1)
Master-Slave helps with failover, but does not provide it.
MariaDB Cluster (Galera) does provide failover for most cases, assuming you have 3 nodes.