(十六)MySQL集群galera实现

(1)环境介绍

galera官网:http://galeracluster.com/downloads/
# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 

(2)以下配置三台服务器都相同

  • 关闭防火墙和selinux

    systemctl disable firewalld 
    systemctl stop firewalld
    sed -ri '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
    setenforce 0
  • 配置yum源

    cat >>/etc/yum.repos.d/galera.repo<<EOF
    [galera1]
    name=galera1
    baseurl=http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/
    gpgcheck=0
    [galera2]
    name=galera2
    baseurl=http://releases.galeracluster.com/galera-3/centos/7/x86_64/
    gpgcheck=0
    EOF
  • 安装mysql和galera插件

    yum repolist
    yum list | egrep "wsrep|galera"
    yum -y install mysql-wsrep-server-5.7.x86_64 
    yum install galera-3.x86_64 -y
  • 启动mysqld

    systemctl start mysqld
    systemctl enable mysqld
    newpass=$(grep "temporary password" /var/log/mysqld.log | awk '{print $NF}')
    mysqladmin -uroot -p"$newpass" password 'Redhat@123'
  • 创建用于数据同步的用户

    mysql -uroot -pRedhat@123 -e "grant all on *.* to 'copy'@'192.168.1.%' identified by 'Copy@123'"
    mysql -uroot -pRedhat@123 -e "flush privileges;"

    (3)修改配置文件:三台不一样

  • node1:192.168.1.31

    #vi /etc/my.cnf
    binlog_format=row
    default_storage_engine=InnoDB
    innodb_autoinc_lock_mode=2
    bind-address=0.0.0.0
    wsrep_on=ON
    wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
    wsrep_cluster_address="gcomm://"
    wsrep_cluster_name="Cluster"
    wsrep_node_address="192.168.1.31"
    wsrep_node_name="node1"
    wsrep_sst_auth=copy:Copy@123
    wsrep_sst_method=rsync
    重启mysqld服务器:systemctl restart mysqld
    验证端口状态:ss -anltup | egrep "3306|4567"

    node1节点上查看状态

  • node2:192.168.1.32

    #vi /etc/my.cnf
    binlog_format=row
    default_storage_engine=InnoDB
    innodb_autoinc_lock_mode=2
    bind-address=0.0.0.0
    wsrep_on=ON
    wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
    wsrep_cluster_address="gcomm://192.168.1.31"
    wsrep_cluster_name="test"
    wsrep_node_address="192.168.1.31,192.168.1.32,192.168.1.33"
    wsrep_node_name="node2"
    wsrep_sst_auth=copy:Copy@123
    wsrep_sst_method=rsync
    重启mysqld服务器:systemctl restart mysqld
    验证端口状态:ss -anltup | egrep "3306|4567"

猜你喜欢

转载自www.cnblogs.com/lovelinux199075/p/8969814.html