您的位置:首页 > 运维架构 > Linux

CentOS7 部署 galera cluster mysql 5.7

2018-06-17 18:49 1381 查看

环境

cpumemhostnamepublic ipcluster ipCentOSMySQL
双核2GBmysql_110.0.0.23110.10.10.17.55.7
双核2GBmysql_210.0.0.23210.10.10.27.55.7
双核2GBmysql_310.0.0.23310.10.10.37.55.7

创建 galera yum 源文件

cat > /etc/yum.repos.d/galera.repo <<-END
[galera]
name = Galera
baseurl = http://releases.galeracluster.com/galera-3/centos/7/x86_64/ gpgkey = http://releases.galeracluster.com/GPG-KEY-galeracluster.com gpgcheck = 1
#
[mysql-wsrep]
name = MySQL-wsrep
baseurl = http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/ gpgkey = http://releases.galeracluster.com/GPG-KEY-galeracluster.com gpgcheck = 1
END

安装

yum install galera-3 mysql-wsrep-5.7 rsync

修改 /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog_format=ROW
bind-address=0.0.0.0
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=1024M #物理内存一半
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
wsrep_cluster_name="mysql_galera_cluster" #集群名字
wsrep_cluster_address="gcomm://10.10.10.1,10.10.10.2,10.10.10.3"
wsrep_sst_method=rsync
wsrep_node_name=mysql_1 #当前节点名字
wsrep_node_address="10.10.10.1" #当前节点 cluster ip
#
[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#
!includedir /etc/my.cnf.d/

随机选择一个节点,使用专用脚本 mysqld_bootstrap 初始化集群

/usr/bin/mysqld_bootstrap
#该命令会启动本机的 mysqld 服务
systemctl status mysqld

查找密码,修改初始密码

grep -i password /var/log/messages
#记录输出的密码
mysqladmin -uroot -p password 'P@sswo2d'
#根据提示输入上一步输出的密码

在其他节点上启动 mysqld 服务

systemctl start mysqld

查看集群节点数量

show status like 'wsrep_cluster_size';

ssl 加密同步数据(不推荐,存在性能损失)

生成证书
mkdir /etc/my.cnf.d/ssl && cd /etc/my.cnf.d/ssl
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 365000 \
-key ca-key.pem -out ca-cert.pem #按提示输入信息
openssl req -newkey rsa:2048 -days 365000 \
-nodes -keyout server-key.pem -out server-req.pem #按提示输入信息,与上一步信息不同
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 365000 \
-CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 \
-out server-cert.pem


修改配置文件 my.cnf
#在 wsrep_provider_options 中添加如下选项,选项间用分号";"间隔
socket.ssl_key=/etc/my.cnf.d/ssl/server-key.pem; socket.ssl_cert=/etc/my.cnf.d/ssl/server-cert.pem; socket.ssl_ca=/etc/my.cnf.d/ssl/ca-cert.pem; socket.checksum=2; socket.ssl_cipher=AES128-SHA


重新启动集群

ssl 加密客户端(不推荐,存在性能损失)

MySQL 5.7 server 自带 ssl 加密,客户端连接时,指定参数 --ssl-mode=required 即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息