MySQL之galera集群部署

MySQL之galera集群部署,第1张

1. 准备环境

2. 安装Galera(每台都需要安装)

删除原版本mysql

配置yum源

安装

如果是本地安装,注意安装顺序

特别注意:

3. 修改密码

4. 每台机器创建用于数据同步的用户

5. 配置Galera Replication

galera1配置

galera2配置

galera3配置

galera4配置

6. 重启服务:每台机器

7. 查看端口

8. 测试

集群分类:(面试题)

高可用

负载均衡

HPC 高性能计算

分布式集群

分布式文件系统(分布式存储)

mysql官方集群: mysql-cluster

5台机器

manager节点

sql节点            sql节点                    接受客户端请求

data节点        data节点                  存储数据

主机解析:vim /etc/hosts

关闭防火墙

时间同步:

修改时区:

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

准备时间服务器:

#vim /etc/ntp.conf

server 127.127.1.0    # local clock

fudge  127.127.1.0 stratum 10

#systemctl restart ntpd

客户端同步时间:

[root@galera2 ~]# ntpdate galera1

所以:删除原版本mysql :

[root@wing yum.repos.d]# yum erase `rpm -qa | grep mysql` -y

配置yum源:

[root@wing yum.repos.d]# vim galera.repo

[galera]

name=galera

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

enabled=1

gpgcheck=0

在线安装:yum list | grep 'galera'      -----过滤

[root@wing yum.repos.d]# yum install mysql-wsrep-5.7.x86_64 galera rsync -y

特别注意:

1.timezone,ceph和rsync

2./var/lib/mysql下3个文件:grastate.dat  gvwstate.dat galera.cache 如果出了错,把他们统统干掉

3.如果一起添到集群中不行就一个节点一个节点的添加

# systemctl start mysqld

获取mysql5.7初始启动密码:

# grep passw /var/log/mysqld.log

修改密码:

#mysqladmin -u root -p'2rttwxb?3_oP' password 'Wangyi@123'

每台机器创建用于数据同步的用户:

mysql>grant all on *.* to 'wangyi'@'%' identified by 'WangYi@123'

mysql>flush privileges

配置Galera Replication :

在[mysqld]下面添加

server-id=1

binlog_format=row

innodb_file_per_table=1

innodb_autoinc_lock_mode=2

wsrep_on=ON

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_name='galera'

wsrep_cluster_address='gcomm://'

wsrep_node_name='galera1'

wsrep_node_address='192.168.229.129'

wsrep_sst_auth=wangyi:'WangYi@123'

wsrep_sst_method=rsync

重启服务:添加一台重启一次

[root@galera1 ~]# systemctl  restart mysqld

galera2配置:

server-id=2

binlog_format=row

innodb_file_per_table=1

innodb_autoinc_lock_mode=2

wsrep_on=ON

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_name='galera'

wsrep_cluster_address='gcomm://galera1'

wsrep_node_name='galera2'

wsrep_node_address='192.168.229.130'

wsrep_sst_auth=wangyi:'WangYi@123'

wsrep_sst_method=rsync

重启服务:添加一台重启一次

[root@galera1 ~]# systemctl  restart mysqld

galera3配置:

server-id=3

binlog_format=row

innodb_file_per_table=1

innodb_autoinc_lock_mode=2

wsrep_on=ON

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_name='galera'

wsrep_cluster_address='gcomm://galera1,galera2'

wsrep_node_name='galera2'

wsrep_node_address='192.168.229.131'

wsrep_sst_auth=wangyi:'WangYi@123'

wsrep_sst_method=rsync

重启服务:添加一台重启一次

[root@galera1 ~]# systemctl  restart mysqld

查看端口:galera端口4567 mysql端口3306

[root@galera1 ~]# ss -auntpl | grep -E '3306|4567'

tcp    LISTEN    0      128      *:4567                  *:*                  users:(("mysqld",pid=11068,fd=12))

tcp    LISTEN    0      80      :::3306                :::*                  users:(("mysqld",pid=11068,fd=39))

测试:

mysql>show status like 'wsrep%'

wsrep_incoming_addresses    | 192.168.245.136:3306,192.168.245.135:3306,192.168.245.10:3306                                                      |

| wsrep_cluster_size          | 3    //表示一共有3个节点,我少配置了一个

Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件。

从用户视角看,一组Galera集群可以看作一个具有多入口的MySQL库,用户可以同时从多个IP读写这个库。

目前Galera已经得到广泛应用,例如Openstack中,在集群规模不大的情况下,稳定性已经得到了实践考验。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6109468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存