在CentOS7上配置MariaDB-Galera-Cluster过程全记录

在CentOS7上配置MariaDB-Galera-Cluster过程全记录前端

MySQL or MariaDB Replication之Galera Clusternode

Galera Cluster:
另外一种多主模型机制,再也不经过mysql协议经过读取二进制文件实现,而是经过wresp协议在全局实现底层数据片复制,任何一节点均可读写。
percona-cluster:
MariaDB-Cluster:mysql

优势:网络状态可用状况下,节点间基本实时数据同步,完胜MHA的日志可能不一样步;sql

特色:分担读操做,前端不必读写分离、只需作负载均衡便可。编程

条件:一、至少要三个节点;二、不能安装mariadb-server。vim

配置文件参数解释:
# cat /etc/my.cnf.d/server.cnf
[galera]
# Mandatory settings
#wsrep_provider= "/usr/lib64/galera/libgalera_smm.so" #插件;
#wsrep_cluster_address="gcomm://node_ip_address1,node_ip_address2,node_ip_address3"
#wsrep_cluster_name=galera_cluster
#wsrep_node_address= #节点地址,可省略;
#wsrep_node_name= #节点名,可省略;
#binlog_format=row #二进制日志格式;
#default_storage_engine=InnoDB
#innodb_autoinc_lock_mode=2 #锁格式;
#bind-address=0.0.0.0 #工做时监听的地址;centos

首次启动时,须要初始化集群,在其中任意节点上执行以下命令:
/etc/init.d/mysql start --wsrep-new-cluster [--wsrep_cluster_name=galera_cluster]网络

然后正常启动其余节点:
/etc/init.d/mysql start负载均衡


配置过程:
OS:
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)ide

Galera:
# rpm -qa MariaDB-Galera-server
MariaDB-Galera-server-5.5.57-1.el7.centos.x86_64

IP:
Node1 IP:192.168.1.77
Node2 IP:192.168.1.78
Node3 IP:192.168.1.79

Node1:
# vim /etc/yum.repos.d/galera.repo
[galera]
name=galera
baseurl=http://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.57/yum/centos7-amd64/
gpgcheck=0
# scp /etc/yum.repos.d/galera.repo 192.168.1.78:/etc/yum.repos.d/
# scp /etc/yum.repos.d/galera.repo 192.168.1.79:/etc/yum.repos.d/

Node1-3:
# yum isntall MariaDB-Galera-server -y

Node1:
# rpm -ql galera | grep -i smm.so
/usr/lib64/galera/libgalera_smm.so
# vim /etc/my.cnf.d/server.cnf
[galera]
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.1.77,192.168.1.78,192.168.1.79"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name="galera_cluster"
# scp /etc/my.cnf.d/server.cnf 192.168.1.78:/etc/my.cnf.d/server.cnf
# scp /etc/my.cnf.d/server.cnf 192.168.1.79:/etc/my.cnf.d/server.cnf
# /etc/init.d/mysql start --wsrep-new-cluster

Node2-3:
# /etc/init.d/mysql start

Node1:
# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.57-MariaDB-wsrep MariaDB Server, wsrep_25.21.r9949137
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [galeradb]> show status like 'wsrep_%';
MariaDB [(none)]>create database galeradb;
Query OK, 1 row affected (0.63 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| galeradb |
| hellodb |
| masterdb |
| mysql |
| performance_schema |
| test |
+--------------------+
MariaDB [(none)]> use galeradb;
MariaDB [galeradb]> create table tb1 (id int unsigned auto_increment not null primary key,name char(30));
MariaDB [galeradb]> insert into tb1 (name) values ('Guo Jing'),('Huang Rong');
MariaDB [galeradb]> select * from tb1;
+----+------------+
| id | name |
+----+------------+
| 4 | Guo Jing |
| 7 | Huang Rong |
+----+------------+

Node2:# mysqlMariaDB [(none)]> show databases;MariaDB [(none)]> use galeradb;MariaDB [galeradb]> insert into tb1 (name) values ('Yang Kang'),('Mu Niangci');MariaDB [galeradb]> select * from tb1;+----+------------+| id | name |+----+------------+| 4 | Guo Jing || 7 | Huang Rong || 11 | Yang Kang || 14 | Mu Niangci |+----+------------+//解决方案:对于ID不连续问题的解决,可在编程时调用工具生成器。

相关文章
相关标签/搜索