MariaDB多主集群方案(MariaDB Galera cluster)

  1. 概述

    MariaDB Galera Cluster是一种多主同步集群,目前只支持linux系统,以及XtraDB/InnoDB 存储引擎。

    2. 功能

        1)同步复制

        2)多主服务器的拓扑结构

        3)任意节点读写

        4)自动控制成员、删除故障节点

        5)自动加入节点

        6)真正的行级别复制

    3. 优势

        1)不存在从服务器角色

        2)不会丢失事物

        3)可以读写同时扩展

        4)更小的延迟

    4. 安装  

        1)环境

        CentOS7.1,三个物理节点

        2)galera源码下载

        galera

        http://releases.galeracluster.com/source/galera-3-25.3.12.tar.gz

        3)安装依赖库

        [mariadb@node01]$ yum install -y boost-devel.x86_64 libodb-boost-devel.x86_64  bzr scons

        4)编译galera源码

        [mariadb@node01 galera-23.2.7-src]$ scons

        5)安装galera库

        [mariadb@node01 galera-23.2.7-src]$ cp  libgalera_smm.so /usr/lib64/galera/

    5. my.cnf配置

        1) node01

[galera]
#Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
# specify all nodes in cluster
#wsrep_cluster_address="gcomm://10.45.25.103,
10.45.25.104,10.45.25.105" 
wsrep_cluster_address="gcomm://"
# uncomment all
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# add follows
# cluster name
wsrep_cluster_name="MariaDB_Cluster"
# own IP address
wsrep_node_address="10.45.25.103"
# replication provider
wsrep_sst_method=rsync
wsrep_sst_auth="sst_user:dbpass"

        2) node02

[galera]
#Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
# specify all nodes in cluster
wsrep_cluster_address="gcomm://10.45.25.103,
10.45.25.104,10.45.25.105" 
#wsrep_cluster_address="gcomm://"
# uncomment all
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# add follows
# cluster name
wsrep_cluster_name="MariaDB_Cluster"
# own IP address
wsrep_node_address="10.45.25.104"
# replication provider
wsrep_sst_method=rsync
wsrep_sst_auth="sst_user:dbpass"

        3) node03

[galera]
#Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
# specify all nodes in cluster
wsrep_cluster_address="gcomm://10.45.25.103,
10.45.25.104,10.45.25.105" 
#wsrep_cluster_address="gcomm://"
# uncomment all
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# add follows
# cluster name
wsrep_cluster_name="MariaDB_Cluster"
# own IP address
wsrep_node_address="10.45.25.105"
# replication provider
wsrep_sst_method=rsync
wsrep_sst_auth="sst_user:dbpass"

    6. 集群验证

        1)启动mariadb

        node1,node2,node3

        [mariadb@node01 ~]$ service mysql start

        2)连接mysql

        [mariadb@node01 ~]$ mysql

        3)查看galera是否启动

        MariaDB [(none)]> show status like 'wsrep_ready';

        

        ON说明galera插件已经启动

        4)    查看集群状态

        MariaDB [(none)]> show status like 'wsrep_incoming_addresses';

        

        目前的集群节点

    7.


你可能感兴趣的:(galera,mariadb集群)