部署MySQL galera集群

安装环境

主机名          ip                   角色

jq1    192.168.43.201        主节点

jq2    192.168.43.202        主节点

安装部署

1、在jq1、jq2安装依赖包

# yum -y install gcc gcc-c++ boost-devel rsync lsof scons check-devel openssl-devel

除scons外,其他的依赖包本地源都有,后面会附一个scons的安装方式

2、创建目录和用户

# groupadd mysql

# useradd -g mysql -M mysql

# passwd mysql         (按需求判断是否需要设置密码)

3、新建mysql数据目录、日志目录和临时目录并赋予权限

# mkdir -p /ops/mysql-galera/{data,logs,temp}

# chown -R mysql:mysql /ops/mysql-galera

4、把需要的安装包放进服务器

      galera插件安装包下载路径

 http://releases.galeracluster.com//galera-3/source/

    带wsrep插件的mysql安装包下载路径 (此处用的是5.7版本的mysql)

 http://releases.galeracluster.com//mysql-wsrep-5.7/binary

5、安装galera插件和mysql

# cd /opt/                     
# 存放安装包的路径

# tar zxf mysql-wsrep-5.7.39-25.31-linux-x86_64.tar.gz -C /ops/mysql-galera/
# 此处我用的是此版本,解压到新建目录/ops/mysql-galera/下

# cd /ops/mysql-galera
# mv mysql-wsrep-5.7.39-25.31-linux-x86_64 mysql-wsrep-5.7.39
# 重命名一下,为了方便

# cd /opt
# tar zxf galera-3-25.3.37.tar.gz -C /ops/mysql-galera
# 解压路径与mysql相同

# cd /ops/mysql-galera
# mv galera-3-25.3.37 galera-3-25
# 重命名一下,为了方便

# cd galera-3-25/
# scons
# 使用scons进行编译,如有报错请参照第六步,无报错继续执行下一条cp命令

# cp -f garb/garbd /ops/mysql-gelera/mysql-wsrep-5.7.24/bin/
# cp -f libgalera_smm.so /ops/mysql-gelera/mysql-wsrep-5.7.24/lib/plugin/
# 强制复制两份配置到指定目录下

6、如在第五步使用scons后出现编译报错,则是scons命令方面的问题,可安装一个scons,步骤如下

第一步 推荐安装最新版本的python,SCons适配的python版本为2.7.x或者3.5以后的版本,可从python官网下载,下载后使用python -v查看版本,如版本未更换则更换下版本

python官网下载路径Download Python | Python.org

第二部 安装scons,找到scons的官网下载路径(SCons Downloads)下载适用于linux的安装包,如SCons-4.3.0.tar.gz,放进服务器后找路径解压,解压后进入scons目录进行安装,具体步骤如下

 

# cd Scons-4.3.0
# python setup.py install --prefix=$HOME
# 指定安装路径,非指定情况下我安装后出现了不明原因报错

安装之后即可正常使用scons命令,Scons是一个开放源码、以Python语言编码的自动化构建工具,可用来替代make编写复杂的makefile。并且scons是跨平台的,只要scons脚本写的好,可以在Linux和Windows下随意编译。

7、配置文件

mysql配置文件my.cnf配置如下

[client]
port=3306
# mysql默认端口
socket=/ops/mysql-galera/mysql.sock

[mysqldump]
quick
max_allowed_packet=32M

[mysqld_safe]
log-error=/ops/mysql-galera/logs/mysqld.log
pid-file=/ops/mysql-galera/mysqld.pid
# 路径填写实际对应路径

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
log-bin-trust-function-creators=1
skip-external-locking
skip-name-resolve=1
user=mysql
port=3306
basedir=/ops/mysql-galera/mysql-wsrep-5.7.39
datadir=/ops/mysql-galera/mysql-wsrep-5.7.39/data
tmpdir=/ops/mysql-galera/temp
socket=/ops/mysql-galera/mysql.sock
pid-file=/ops/mysql-galera/mysqld.pid
# 路径填写实际对应路径
server_id=3
log_bin=mysql-bin
relay-log=mgc003-relay-bin
binlog_format=row

wsrep配置文件wsrep.cnf配置如下,也可以把此配置不创建,并入mysql.cnf下

[mysqld]
wsrep_provider=/ops/mysql-galera/galera-3-25/libgalera_smm.so
# scons编译后生成的文件
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.43.201,192.168.43.202"
# 集群内的ip
wsrep_node_name=jq1
# 集群的主机名
wsrep_node_address='192.168.43.201'
# 集群ip

8、初始化数据库(jq1需要) 并启动集群

./mysqld --defaults-fiel=/etc/my.cnf --initialize --user=mysql
# 路径写实际安装的路径
# ./mysqld_safe --wsrep_cluster_address=gcomm:// &
# 路径替换为实际的绝对路径,jq1直接启动,jq2地址在//后面填写jq1的ip后启动
# 后续每一个新节点加入都需要填写已知节点的ip地址

# ss -tunpl | grep mysqld
# 查看mysql的端口信息

 9、登录数据库后查看集群是否添加了新节点

# show status like 'wsrep%';
# 查看galera集群状态

# show  variables like 'wsrep_cluster_address';
# 查看集群地址

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值