Galera Cluster for Mysql集群环境搭建 1、系统环境 2、linux 更换国内镜像 3、安装清华大学 elep repo 5、卸载 mariadb 6、开启防火墙 7、设置SELinux 8、下载 Galear 组件 9、安装Galear 依赖包 10、安装Galear 11、创建wsrep.cnf 文件 12、初始化mysql 13、注意事项 14、启动集群

         CentOS 7.5   虚拟机环境 

          NODE1:192.168.1.33

          NODE2:192.168.1.34

          NODE3:192.168.1.35

2、linux 更换国内镜像

  首先备份/etc/yum.repos.d/CentOS-Base.repo

  执行命令:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载网易repos  通过ftp 上传至/etc/yum.repos.d/ 目录下

下载地址:http://mirrors.163.com/.help/centos.html

替换完成后执行:

yum clean all
yum makecache

3、安装清华大学 elep repo

执行命令:

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm

4、创建mysql目录及mysql日志文件

执行命令:

vi /var/log/mysql.error

日志文件赋权限

chmod -R 777 /var/log/mysql.error

创建mysql 数据目录

mkdir -p /usr/local/mysql/data/

赋权限

chmod -R 777 /usr/local/mysql/

 

5、卸载 mariadb

查看系统是否已经安装了mariadb

执行命令:

rpm -qa | grep mariadb

如果存在则执行:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 (此处是我的系统)

6、开启防火墙

执行命令:

firewall-cmd --zone=public --add-port=3306/tcp –permanent
firewall-cmd --zone=public --add-port=4444/tcp –permanent
firewall-cmd --zone=public --add-port=4567/tcp –permanent

重启防火墙

firewall-cmd --reload

7、设置SELinux

执行命令:

vi /etc/selinux/config

修改

SELINUX=enforcing 为 permissive

执行 reboot 重启电脑

8、下载 Galear 组件

由于下载慢 可以在此下载

官方下载地址:https://galeracluster.com/downloads/

 选择CentOS

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群

选择 7

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群

选择x86_64

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群

点击下载galera-3-25.3.28-1.el7.x86_64.rpm

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群

下载:

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群

选择 CentOS

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群

进去后所有的下载所有的RPM

9、安装Galear 依赖包

执行命令:

yum -y install gcc gcc-c++ openssl openssl-devel lsof socat perl boost-devel rsync jemalloc libaio libaio-devel net-tools

10、安装Galear

上传刚才下载的文件到linux 目录后依次执行:

rpm -ivh mysql-wsrep-common-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh mysql-wsrep-libs-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh mysql-wsrep-client-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh mysql-wsrep-server-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh mysql-wsrep-libs-compat-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh mysql-wsrep-devel-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh mysql-wsrep-5.7-5.7.28-25.20.el7.x86_64.rpm
rpm -ivh galera-3-25.3.28-1.el7.x86_64.rpm

11、创建wsrep.cnf 文件

编辑 /etc/my.cnf 注释掉所有,增加!includedir /etc/my.cnf.d/

执行命令:

vi  /etc/my.cnf.d/wsrep.cnf
[mysqld]
#设置跳过密码认证(自定义密码设置成功后,需要删除此项)
skip-grant-tables
lower_case_table_names=1
# 设置3306端口
port=3306
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。
max_connect_errors=20
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#MySQL服务器的ID,必须是唯一的,集群各个节点也不同
server_id=1
# 防止日志时间和系统时间不一样
log_timestamps=SYSTEM
explicit_defaults_for_timestamp=true
log_error=/var/log/mysql.error
pid_file=/run/mysqld/mysqld.pid
user=mysql
socket=/usr/local/mysql/data/mysql.sock
# galera集群的名字,必须是统一的
wsrep_cluster_name='cs_cluster'
# wsrep提供者,必须配置(可以通过find命令查找 该文件在那两个目录下)
wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so
#wsrep节点的ID,必须是唯一的,集群各个节点也不同
wsrep_node_name = node1
# 集群中的其他节点地址,可以使用主机名或IP (数据库初始化之前先不配置此项,但是初始化完成之后需要配置此项)
#wsrep_cluster_address=gcomm://192.168.1.33:4567,192.168.1.34:4567,192.168.1.35:4567
wsrep_cluster_address=gcomm://
# 本机节点地址,可以使用主机名或IP
wsrep_node_address='192.168.1.33'
# 指定wsrep启动端口号,4567为默认值
wsrep_provider_options ="gmcast.listen_addr=tcp://192.168.1.33:4567"
# 一个逗号分割的节点串作为状态转移源,比如 wsrep_sst_donor=node1,node2,node3 如果node1可用,用node2,如果node2不可用,用node3,最后的逗号表明让提供商自己选择一个最优的。
wsrep_sst_donor='node1,node2,node3'
# 集群同步方式
wsrep_sst_method=rsync
# 集群同步的用户名密码
wsrep_sst_auth=test:test
slow_query_log=on
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/usr/local/mysql/data/mysql.sock
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
socket=/usr/local/mysql/data/mysql.sock
[mysqldump]
max_allowed_packet = 512M
[mysqld_safe]
malloc-lib=/usr/lib64/libjemalloc.so.1

12、初始化mysql

 

初始化mysql:

mysqld --initialize –-console

启动mysql:

service mysqld start

进入mysql 并设置密码

 mysql -u root -p 

注意:

如果遇到(ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/data/mysql.sock' (2) )

重启mysql 服务  systemctl restart mysqld.service 

由于之前设置了 skip-grant-tables 因此直接按回车进入

修改mysql 密码:

update mysql.user set authentication_string=password('root') where user='root';
flush privileges;

键入:quit 退出

删除skip-grant-tables

重启mysql 服务

执行:

service mysqld start

用之前修改的密码进入mysql

mysql -u root –p
输入上面修改的密码:root

再次修改密码执行:

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
flush privileges;

设置mysql 可以远程登录

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

设置mysql 开机启动

systemctl enable mysqld.service
chkconfig --levels 2345 mysqld on

注意:正在将请求转发到“systemctl enable mysqld.service”

13、注意事项

按照上面的步骤安装其余两台机器或者通过虚拟机克隆,克隆出两台机器,需要注意的是一下三项参数必须按照不同机器来配置

server_id=1

wsrep_node_name = node1

wsrep_provider_options ="gmcast.listen_addr=tcp://192.168.1.33:4567"

14、启动集群

其余两台机器安装好之后,启动集群环境

  • 编辑/etc/my.cnf.d/wsrep.cnf

        把wsrep_cluster_address=gcomm:// 改为其余两个节点的实际ip地址

        如我的配置:wsrep_cluster_address=gcomm://192.168.1.33:4567,192.168.1.34:4567,192.168.1.35:4567

        修改完成后停止mysql 服务

systemctl stop mysqld.service

 

  • 启动集群环境,第一台启动的集群服务必须使用下面的命令:

   

bash  /usr/bin/mysqld_bootstrap 
  • 其余节点启动

使用:

systemctl start mysqld.service

注意:其余节点启动之前也需要把把wsrep_cluster_address=gcomm:// 改为其余两个节点的实际ip地址

启动之后查看集群状态

Galera Cluster for Mysql集群环境搭建
1、系统环境
2、linux 更换国内镜像
3、安装清华大学 elep repo
5、卸载 mariadb
6、开启防火墙
7、设置SELinux
8、下载 Galear 组件
9、安装Galear 依赖包
10、安装Galear
11、创建wsrep.cnf 文件
12、初始化mysql
13、注意事项
14、启动集群