Mysql集群介绍

Posted XEdu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql集群介绍相关的知识,希望对你有一定的参考价值。

    mysql集群架构中主要包括管理节点和数据节点,管理节点负责整个集群结构的管理,数据的存储则由各个数据节点负责。当然,像非集群环境一样,需要提供一个mysql的节点供外部程序访问数据库。Mysql 集群的具体组织方式图-01

 

-01

    接下来便对其中涉及的各个节点和模块进行一一介绍

    Management Node(管理节点)mysql集群全局的管理者,整个集群只有一个management node,负责管理集群架构中的其他Nodes(节点),包括控制其他节点的启停,查看节点状态等。另外还维护了集群的全局配置信息,因此在整个集群环境中应该优先于所有节点启动。管理节点启动命令为ndb_mgmd.

    Data Node(数据节点):数据的存储节点,集群中会有多个Data Node,每个节点存储数据多个数据副本。虽然mysql集群可以设置副本数量为1,即集群没有数据冗余,所有节点的只存储各自数据片段的副本,但是这样的集群也就失去了意义,所以为了保证高可用性,建议最好是设定副本数量至少为2,或者更大,一份用于存储,一份作为冗余。系统默认值为2. 冗余副本数量越大,需要的节点数就会越多。Data node 节点启动命令为ndbd.关于存储副本的概念参考图-02(来自官网)也许有助于理解副本、冗余的含义和作用。

 

-02

    如图-02,集群中存在四个data node,分别为node1node2node3node4,集群数据分区存储,其中node1存储数据的partition 0,同时存储partition 2的一个备份副本用作冗余。其他节点类似。那样的好处是什么呢,见图-03

 

-03

    在这个例子中,即使group0group1中各有一个node故障,整个cluster中也会有一份完整的数据,保持系统运转正常。


    Sql Node (SQL节点):对外提供访问mysql集群数据的入口,该节点可以有多个。也就是在单机环境下的mysqld服务。在启动该服务以后,我们便可以通过标准的mysql client程序的访问数据数据库。启动命令为mysqld

    Applications(外部应用):外部应用要想访问集群环境下的数据库并不能直接访问data node,访问的是sql node,访问方法与单机环境一致。


以上是关于Mysql集群介绍的主要内容,如果未能解决你的问题,请参考以下文章

多图文,详细介绍mysql各个集群方案

mysql 8.0.11 innodb cluster 高可用集群手册系列之一 ------集群介绍

Mysql-高可用集群-介绍

Linux集群(keepalived介绍,Keepalived配置高可用集群,Keepa+mysql

MySQL集群和ansible的简单介绍

MySQL学习笔记02MySQL集群相关概念