1,检查系统是否安装MySQL,已安装则需要卸载干净
查看 systemctl status mysqld.service

2,关闭防火墙
查看 systemctl stop firewalld.service ;
关闭 systemctl disable firewalld.service;systemctl disable firewalld.service

3,安装依赖包
yum -y install lsof net-tools perl socat openssl openssl-devel boost-devel

4,官网下载安装包
https://galeracluster.com/downloads/

CentOS7 MySql Galera Cluster 安装步骤

http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/

CentOS7 MySql Galera Cluster 安装步骤

http://releases.galeracluster.com/galera-3/centos/7/x86_64/

CentOS7 MySql Galera Cluster 安装步骤

5,按顺序安装

rpm -ivh mysql-wsrep-common-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-libs-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-client-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-libs-compat-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-server-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh mysql-wsrep-devel-5.7-5.7.29-25.21.el7.x86_64.rpm
rpm -ivh galera-3-25.3.29-1.el7.x86_64.rpm

6,启动 mysql,并设置开机启动

  • systemctl start mysqld
  • systemctl enable mysqld

7,设置 root 密码,创建用于同步的用户。

  • 查看安装默认密码:less /var/log/mysqld.log | grep password
  • mysql -u root -p

  • 输入默认的密码

  • set global validate_password_policy=0;

  • set global validate_password_length=0;

  • alter user 'root'@'localhost' identified by 'password';

  • set password=password('password');

  • grant all on *.* to 'username'@'x.x.x.%' identified by 'password1';

  • flush privileges;

8,配置galera集群

     vi /etc/my.cnf 在最后加入下边内容:

server_id=1 
binlog_format=row
default_storage_engine=InnoDB
innodb_file_per_table=1
innodb_autoinc_lock_mode=2

wsrep_on=ON
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_cluster_name='galera'  
wsrep_cluster_address='gcomm://'  
wsrep_node_name='node1' 
wsrep_node_address='192.168.1.1'
wsrep_sst_auth=username:password1
wsrep_sst_method=rsync

validate_password=off
 

说明:

server_id 要集群内唯一,比如 node1的为1,node2的为2...

wsrep_cluster_name 集群名字,可以自定义,但是同一集群要保持一致

wsrep_cluster_address 第一个节点的值为 'gcomm://' ,第一个节点起来后,其他节点可以配置为集群出自身外所有节点ip地址 如:'gcomm://192.168.1.1,192.168.1.2'

wsrep_node_name 节点主机名

wsrep_node_address 节点ip

wsrep_sst_auth 第7步创建的用于同步的用户和密码

 

9, 启动第一个节点

  • systemctl restart mysqld
  • systemctl status mysqld

10,启动其他(第二第三个)节点

systemctl restart mysqld

11,查看状态

  • 登录 mysql 检查集群状态:show status like 'wsrep%';

CentOS7 MySql Galera Cluster 安装步骤

12,集群测试

任意登录一个节点的 mysql ,创建数据库,发现其他节点也同步成功。

create database test;

show databases;

相关文章: