基于Galera Cluster MySQL集群解决方案的环境搭建

安装准备

基础环境:CentOS 6.4

检查本机中是否有mysql,使用命令yumlist installed | grep mysql  如果有就干掉它,命令:yum -y remove XXXXX

关闭防火墙:chkconfig iptables off (永久生效,如果防火墙因其他原因不可关闭,开放3306和4567端口)

关闭SELinux:vi/etc/selinux/config

把SELINUX=enforcing改为SELINUX=disabled

文件准备:我将其放在/var/local/mysql 文件中。(官网:http://galeracluster.com/products)

       galera-3-25.3.23-2.el6.x86_64.rpm

mysql-wsrep-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-client-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-common-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-devel-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-libs-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-libs-compat-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-server-5.7-5.7.21-25.14.el6.x86_64.rpm

mysql-wsrep-test-5.7-5.7.21-25.14.el6.x86_64.rpm

安装过程

开始安装(一定注意安装顺序,部分有依赖关系)

1、rpm -ivh mysql-wsrep-common-5.7-5.7.21-25.14.el6.x86_64.rpm

2、rpm -ivh mysql-wsrep-libs-5.7-5.7.21-25.14.el6.x86_64.rpm

3、rpm -ivh mysql-wsrep-client-5.7-5.7.21-25.14.el6.x86_64.rpm

4、rpm -ivh mysql-wsrep-server-5.7-5.7.21-25.14.el6.x86_64.rpm

5、rpm -ivh mysql-wsrep-libs-compat-5.7-5.7.21-25.14.el6.x86_64.rpm

6、rpm -ivh galera-3-25.3.23-2.el6.x86_64.rpm

 

配置文件

安装完成后开始编写配置文件

命令:vi /etc/my.cnf

注释掉该配置文件中的所有内容并在其中添加一行:!includedir/etc/my.cnf.d/

然后使用命令:vi /etc/my.cnf.d/wsrep.cnf

将如下内容copy至该文件中

[mysqld]

log_timestamps=SYSTEM    

port=3306

server_id=00

explicit_defaults_for_timestamp=true

# basedir=/usr/local/mysql

datadir=/usr/local/mysql/data/

socket=/usr/local/mysql/data/mysql.sock

pid_file=/run/mysqld/mysqld.pid

log_error=/var/log/mysql.error

wsrep_cluster_name='galera_cluster_mysql'

wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so

wsrep_node_name = node1

wsrep_cluster_address=gcomm://192.168.19.130

wsrep_node_address='本机ip'

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

wsrep_sst_donor='node1,node2,node3,'

wsrep_sst_method=rsync

wsrep_sst_auth=test:123456

slow_query_log=on

[client]

default-character-set=utf8

socket=/usr/local/mysql/data/mysql.sock

[mysql]

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

重要说明:

       该配置中有几处重要配置项需注意

1、 server_id=00:该配置是MySQL的服务器id,必须唯一,不可重复。

2、 wsrep_cluster_name='galera_cluster_mysql':该配置是galera集群名称,每个节点配置保持一致。

3、 wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so:该文件的引入是安装默认路径,如果路径有误请使用命令:find / -name libgalera_smm.so查找该文件

4、 wsrep_node_name = node1:wrest节点名称,必须唯一,各个节点不可重复

5、 wsrep_cluster_address=gcomm://192.168.19.130:该配置是集群通信ip,第一个启动的节点要空着,子节点指向上一节点,例如:主nodeßnode1ßnode2…

6、 wsrep_sst_donor='node1,node2,node3,:用逗号分割,作为状态转移源,如果有节点挂掉,会跳至相应节点,最后一个逗号表示选择最优

7、 malloc-lib=/usr/lib64/libjemalloc.so.1:这个库干嘛的我也不太清楚。如果没有使用命令:yum -y installjemalloc进行安装,如果获取不到就先下载个数据源,命令:rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm然后再执行 yum -y install jemalloc   如果遇到该错误:Error:Cannot retrieve metalink for repository: epel. Please verify its path and tryagain

先不要修改epel源,有可能是证书过期了,执行命令:yum --disablerepo=epel -y update ca-certificates后再重试

 

编写完配置文件后,就可以初始化数据库了,先创建文件夹及更改权限

命令:mkdir /usr/local/mysql && chown mysql/usr/local/mysql && chgrp mysql /usr/local/mysql

然后执行命令:mysqld --initialize  --user=mysql

初始化数据库完毕。

登录mysql:首次登录密码是错误日志文件里的

使用命令:grep 'temporary password' /var/log/mysql.error

在xxxxxxxxxxxxx root@localhost:后面那个就是root的登录密码

常见安装错误:

1、执行rpm -ivhmysql-wsrep-common-5.7-5.7.21-25.14.el6.x86_64.rpm时若报以下错误:

file/usr/share/mysql/charsets/swe7.xml from install ofmysql-wsrep-common-5.7-5.7.21-25.14.el6.x86_64 conflicts with file from packagemysql-libs-5.1.66-2.el6_3.x86_64

我这个是因为与mysql-libs-5.1.66-2.el6_3.x86_64文件与安装文件冲突了,干掉就可以了

使用命令:rpm -qa| grep mysql-libs-5.1.66-2.el6_3.x86_64

 

2、执行 rpm -ivh openssl-compat-bitcoin-libs-1.0.1g-0.1.el6.art.x86_64.rpm时若报以下错误

error: Faileddependencies:

       libcrypto.so.10(libcrypto.so.10)(64bit) is needed bymysql-wsrep-libs-compat-5.7-5.7.21-25.14.el6.x86_64

       libssl.so.10(libssl.so.10)(64bit) is needed bymysql-wsrep-libs-compat-5.7-5.7.21-25.14.el6.x86_64

该错误原因是本机缺少openssl或版本太低,官网https://pkgs.org/download/libssl.so.10(libssl.so.10)(64bit)下载openssl-compat-bitcoin-libs-1.0.1g-0.1.el6.art.x86_64.rpm  并安装。

使用命名:rpm -ivh openssl-1.0.1e-57.el6.x86_64.rpm

3、执行rpm -ivhmysql-wsrep-libs-compat-5.7-5.7.21-25.14.el6.x86_64.rpm时若报以下错误

error: Faileddependencies:

       libboost_program_options.so.5()(64bit) is needed bygalera-3-25.3.23-2.el6.x86_64

解决方法:执行命令:yum -y install boost-devel

4、MySQL的安装日志如果出现该错误

2018-05-08T07:54:42.896145-08:000 [ERROR] WSREP: wsrep_load(): dlopen(): /usr/lib64/galera-3/libgalera_smm.so:symbol TLSv1_2_server_method, version libssl.so.10 not defined in filelibssl.so.10 with link time reference

2018-05-08T07:54:42.896169-08:000 [ERROR] WSREP: wsrep_load(/usr/lib64/galera-3/libgalera_smm.so) failed:Invalid argument (22). Reverting to no provider.

升级openssl,使用命令:yum updateopenssl

5、启动MySQL的时候如果mysql.error日志报错提示无法读写grastate.dat,系统甚至都搜索不到mysql.lock如果初始化数据库的时候没有错误,那么建议重启试试,原因不明,可能有些配置要重启生效(猜测)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值