部署galera 多主架构 (galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性。)

环境准备:三台服务器

master:192.168.206.3

master1:192.168.206.5

master2:192.168.206.6

yum配置

操作系统:CentOS7.3

数据库版本:MariaDB-10.3.7

1>yum配置,(三端数据库信息保持一致)

[mariadb]

name=MariaDB

baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/

gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck=1

2>关闭防火墙 

3>三个主机都要互相解析

vim /etc/hosts

4>主节点编辑配置文件

vim /etc/my.cnf.d/server.cnf

在 [ galera ] 下面

wsrep_on=ON  wsrep_provider=/usr/lib64/galera/libgalera_smm.so     #galera的库文件的地址

wsrep_cluster_address="gcomm://192.168.206.3,192.168.206.5,192.168.206.6"   #各节点的ip

wsrep_node_name=node1         #节点主机名  

wsrep_node_address=192.168.206.3 #节点ip

binlog_format=row        #二进制日志设置为行模式  row (安全性最高,性能最低)

default_storage_engine=InnoDB    #使用的默认引擎 innoDB  支持事务

innodb_autoinc_lock_mode=2      #2为性能最好

wsrep_slave_threads=1              #并发线程数

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,但是flush(刷到磁盘)操作并不会同

时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作

innodb_buffer_pool_size=120M       #设置缓存池大小

wsrep_sst_method=rsync             #远程同步

wsrep_causal_reads=ON         #避免各个节点的数据不一致,这种情况需要等待全同步复制 将此文件复制到master1、master2,注意要把 wsrep_node_name 和 wsrep_node_address 改成相应                                                                          节点的 hostname 和 ip。

注:graler 集群最好至少三个,两个的话。如果出现网络波动可能会出现脑裂;

三端都需要配置

5>第一次启动需要初始化

&1

mysqld_safe--wsrep_cluster_address=gcomm://192.168.206.3,192.168.206.5,192.168.206.6

这里会hang住 ,等他执行一段时间就好,

&2  执行  /bin/galera_new_cluster

6>另外两端启动数据库

service  mariadb restart

7>查看集群状态(进程和端口)(查看wsrep 状态也可以)

确保 wsrep 端口 :4567  与  mariadb端口: 3306 打开

&show status like ‘wsrep%'

8>测试

&master端

&master1端

&master2端

同步成功!

注: 若三台主机 关机了,再起就起不来了。

执行以下操作

vim /var/lib/mysql/grastate.dat

把safe_to_bootstrap更改为1

# GALERA saved state

version: 2.1 uuid:    a393feef-f639-11e8-9b89-4e75f9b8fb0f

seqno:   -1

safe_to_bootstrap: 1

Mariadb galera 集群的更多相关文章

  1. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  2. MariaDB Galera集群部署--技术流ken

    Galera集群介绍 MariaDB集群是MariaDB同步多主机集群.它仅支持XtraDB/ InnoDB存储引擎. 主要功能 同步复制 真正的multi-master,即所有节点可以同时读写数据库 ...

  3. mysql基础之mariadb galera集群(多主)

    一.概念 galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性. galera集群是基于wsrep协议(端口4 ...

  4. Linux下MySQL/MariaDB Galera集群搭建过程

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  5. MariaDB GALERA 集群双节点部署

    节点1:10.2.2.41 节点2:10.2.2.42 软件: mariadb-galera-10.0.22-linux-x86_64.tar.gz #galera相关参数:(两个节点配置文件类似) ...

  6. mysql主从配置和galera集群

    mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  7. 使用kolla安装的openstack mariadb为集群所有节点无法启动

    当在做测试时,把所有的openstack节点都关机,再开启做测试时,发现mariadb galera集群启不来,相当于所有的mariadb集群都停止了(跟所有节点断电情况相似),这时候怎么办呢,重新建 ...

  8. mariadb 数据库集群配置

    mariadb集群配置(主从和多主)   mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是 ...

  9. Galera集群server.cnf参数调整--前言

    文档安排: 前言部分会简述下galera集群,正文中会针对我们线上的环境,在不断业务的情况下,进行参数调整的话,有些参数不能够进行配置,会以#***的形式写入配置文件中,文档也会进行进一步说明. 如果 ...

随机推荐

  1. PHP 之PHP + phantomJS实现网站截屏

    php代码: exec("G:/phpstudy/WWW/destoon/api/a/cache/web/phantomjs.exe ./get.js http://www.baidu.co ...

  2. 华硕笔记本无法设置U盘启动,快捷启动不能识别

    最近有不少华硕笔记本用户朋友在使用U大侠装系统时,不管是使用快捷键启动还是BIOS查看,都没有发现U盘启动项,这该怎么办呢?   不要急,既然找不到启动项,那就从设置启动项来解决不就可以了. 第一种方 ...

  3. element-UI el-table表格根据搜索条件表格值改变颜色

    Part.1 关键代码 var s = "天气"; // 需要匹配的字符 var reg = new RegExp("(" + s + ")" ...

  4. 安装Subversion1.82(SVN)

    安装Subversion1.82(SVN)插件 简介    :SVN是团队开发的代码管理工具,它使我们得以进行多人在同一平台之下的团队开发. 解决问题:Eclipse下的的SVN插件安装. 学到    ...

  5. spark学习(2)---RDD

    一.打印RDD内容 https://blog.csdn.net/wengyupeng/article/details/52808503 1.方法 2种方式: 1 rdd.collect().forea ...

  6. 用node写个简单的静态服务器

    直接上代码吧,我把它命名为 app.js, 只要在该文件所在目录下,控制台运行 node app.js 即可启动一个本地服务器了. /** * 服务器 * Author jervy * Date */ ...

  7. c++基础_回文数

    #include <iostream> using namespace std; int main(){ ;i<;i++){ ; int n=i;//暂存该四位数来计算 ,以防改变i ...

  8. python实现tcp文件下载器

    服务器端代码 import socket import os import threading # 处理客户端请求下载文件的操作(从主线程提出来的代码) def deal_client_request ...

  9. 集训第五周动态规划 C题 编辑距离

    Description Let x and y be two strings over some finite alphabet A. We would like to transform x int ...

  10. 每周一赛(E题,广搜求方案)

    Description In this problem, you are given an integer number s. You can transform any integer number ...