IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysql/mariadb (galera多主模式)集群搭建 -> 正文阅读

[大数据]mysql/mariadb (galera多主模式)集群搭建

环境准备

服务器 192.168.10.30 192.168.10.31? 192.168.10.204?

服务器间免密登录(非必须)

ssh-keygen -t rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.10.31
ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.10.204

设置主机名?? (环境配置及安装三台机器一样)

修改三台机器域名解析
vim /etc/hosts

192.168.10.30 db1
192.168.10.31 db2
192.168.10.204 db3

关闭防火墙 设置时间同步(环境配置及安装三台机器一样)

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

安装数据库(环境配置及安装三台机器一样)

[root@localhost ~]# mkdir -p /data/tools
[root@localhost ~]# cd /data/tools/

下载地址

mariadb-mariadb-10.2.44-yum-centos-7.5-x86_64-rpms安装包下载_开源镜像站-阿里云

?选择对应的操作系统和CPU型号的rpms

下载rpms

# 安装
yum -y install galera-25.3.28-1.rhel7.el7.centos.x86_64.rpm  jemalloc-* MariaDB-* libzstd-1.3.4-1.el7.x86_64.rpm 
#启动
systemctl enable --now mariadb
# 初始化
mysql_secure_installation

可以登录证明单台安装成功

集群

?集群配置

三台数据库安装完毕后 分别配置三台服务器配置文件, vim /etc/my.cnf.d/server.cnf

其中 ?wsrep_node_name? wsrep_node_address 需要跟当前机器 ip、名称相同,其他配置 三台机器一样。

[galera]



# Mandatory settings
 wsrep_on=ON
 wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name='Galera_Cluster'                                                # Galera集群名称 
wsrep_cluster_address="gcomm://192.168.10.30,192.168.10.31,192.168.10.204"
 wsrep_node_name=db1             #节点主机名  
 wsrep_node_address=192.168.10.30 #节点ip
 binlog_format=row
 default_storage_engine=InnoDB
 innodb_autoinc_lock_mode=2
 #
 # Allow server to accept connections on all interfaces.
 #
 bind-address=0.0.0.0
 #
 # Optional setting
 wsrep_slave_threads=2
 innodb_flush_log_at_trx_commit=0
 #0.log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作。
 #1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。
 #2:每次事务提交时MySQL都会把log buffer的数据写入log file,但
 innodb_buffer_pool_size=120M       #设置缓存池大小
 wsrep_sst_method=rsync             #远程同步
 wsrep_causal_reads=ON         #避免各个节点的数据不一致,这种情况需要等待全同步复制


# this is only for embedded server
[embedded]

选择其中一台执行,启动第一个主

mysqld_safe --wsrep_cluster_address=gcomm://192.168.10.30,192.168.10.31,192.168.10.204 >/dev/null &

/bin/galera_new_cluster

其他的直接启动就可以了

systemctl start mariadb


启动后选择其中一台检查集群状态,可以看到当前主机状态是就绪,集群节点为3

注 : 如果集群启动出问题,需要编辑var/lib/mysql/grastate.dat文件 中的

safe_to_bootstrap状态为1 ,并且重新执行galera_new_cluster

测试集群

其中一台执行

其他的显示

远程访问,除了要开启防火墙端口过滤 还需要授权;

#登录
 mysql -u root -p rootpass
#选择库
use mysql;
#查询可访问的用户和IP
select host,user,password from user;
#增加一条 root的任意IP访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

?%代表所有,此时可以从其他IP访问当前数据库

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:30:00  更:2022-07-17 16:30:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:41:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码