Mariadb10.4.20集群部署

8 篇文章 0 订阅
6 篇文章 0 订阅

下面简单记录下Centos快速部署MariaDB Galera集群环境:

一、环境说明

|主机名| 内网地址|
|–|–|–|-|
| mariadb01| 172.16.0.11 |
| mariadb02| 172.16.0.12 |
| mariadb03| 172.16.0.13 |

操作系统:centos:7.7
ceph版本: 10.2.11

二、环境准备

# 服务器之间免登陆
[root@localhost ~]# ssh-keygen -t rsa 
[root@localhost ~]# ssh-copy-id  -i /root/.ssh/id_rsa.pub 172.16.0.11
[root@localhost ~]# ssh-copy-id  -i /root/.ssh/id_rsa.pub 172.16.0.12
[root@localhost ~]# ssh-copy-id  -i /root/.ssh/id_rsa.pub 172.16.0.13
# 设置主机名
[root@localhost ~]# hostnamectl set-hostname mariadb01
[root@localhost ~]# hostnamectl set-hostname mariadb02
[root@localhost ~]# hostnamectl set-hostname mariadb03

三、挂载镜像,搭建本地yum源

[root@mariadb01 ~]# mount /dev/cdrom /mnt
[root@mariadb01 ~]# rm -rf  /etc/yum.repos.d/*.repo  
[root@mariadb01 ~]# cat > /etc/yum.repos.d/CentOS-Base.repo  <<EOF 
[base]
name=CentOS-7- Base
baseurl=file:///mnt
gpgcheck=0
enable=1
EOF

四、关闭selinux、防火墙

[root@mariadb01 ~]# setenforce 0 && systemctl disable firewalld && systemctl stop firewalld

五、时间同步

[root@mariadb01 ~]# yum -y install ntp ntpdate ntp-doc && systemctl restart ntpd && systemctl enable ntpd

六、下载软件包

[root@mariadb01 ~]# mkdir -p /data/tools/
[root@mariadb01 ~]#  cd /data/tools
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/MariaDB-client-10.4.20-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/MariaDB-common-10.4.20-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/MariaDB-devel-10.4.20-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/MariaDB-gssapi-server-10.4.20-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/MariaDB-server-10.4.20-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/galera-4-26.4.7-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/libzstd-1.3.4-1.el7.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/jemalloc-devel-3.6.0-1.el7.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/jemalloc-3.6.0-1.el7.x86_64.rpm
[root@mariadb01 tools]# wget https://mirror.vpsfree.cz/mariadb//mariadb-10.4.20/yum/centos74-amd64/rpms/MariaDB-compat-10.4.20-1.el7.centos.x86_64.rpm
[root@mariadb01 tools]# yum -y install galera-4-26.4.7-1.el7.centos.x86_64.rpm MariaDB-* jemalloc-devel-3.6.0-1.el7.x86_64.rpm jemalloc-3.6.0-1.el7.x86_64.rpm

七、安装MariaDB数据库,并初始化数据库

[root@mariadb01 tools]# yum -y install galera-4-26.4.7-1.el7.centos.x86_64.rpm jemalloc-* MariaDB-* libzstd-1.3.4-1.el7.x86_64.rpm 
[root@mariadb01 tools]# systemctl enable --now mariadb
# 设初始化并置密码
[root@mariadb01 tools]# mysql_secure_installation 

八、配置galera集群

[root@mariadb01 tools]# cd /etc/my.cnf.d
[root@mariadb01 my.cnf.d]# cat > /etc/my.cnf.d/wsrep.cnf  <<EOF
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so

wsrep_node_name='172.16.0.11'			# 每个节点都需要修改
wsrep_node_address="172.16.0.11"		# 每个节点都需要修改
wsrep_cluster_name='galera-cluster'
wsrep_cluster_address="gcomm://172.16.0.11,172.16.0.12,172.16.0.13"
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
wsrep_slave_threads=4
wsrep_sst_method=rsync
EOF
[root@mariadb01 my.cnf.d]# cat > /etc/my.cnf.d/server.cnf  <<EOF

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
bind-address=0.0.0.0
user=mysql

default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=128M

binlog_format=ROW
log-error=/var/log/mysqld.log
EOF

# 将上面的配置拷贝都其他节点,并做适当修改
# 任意节点一个执行
[root@mariadb01 my.cnf.d]# systemctl stop mariadb
[root@mariadb01 my.cnf.d]# galera_new_cluster
# 另外2个节点执行
[root@mariadb02 ~]# systemctl start mariadb
[root@mariadb03 ~]# systemctl start mariadb

# 查看集群
[root@mariadb01 ~]# mysql -uroot -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

九、验证数据同步


# 在节点1新建数据库

[root@mariadb01 my.cnf.d]# mysql -uroot -p1 -e "create database test_1;"
# 节点2或者3都会自动新建库

[root@mariadb02 tools]# mysql -uroot -p1 -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test_1             |
+--------------------+
[root@mariadb03 tools]#  mysql -uroot -p1 -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test_1             |
+--------------------+
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值