1.主从架构:

每个从节点需要一个dump线程连接主节点

异步:效率高,安全性低,有延迟

同步:效率低,安全性高,无延迟

主:可读可写,(dump thread)

从:可读不可写 (sql thread, i/o thread)

2.单点故障解决方案:

主主架构:

互为主备,互相监控对方二进制日志文件进行同步

note:当两个sql语句发生冲突的时候主主架构有可能出现数据不一致的现象;

MHA(master hi avalible)

HMA可以有多个配置文件,一个配置文件监控一个主从架构

3.主从架构配置:

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

服务器1: MariaDB01 192.168.52.233

服务器2: MariaDB02 192.168.52.234

数据库版本:    MariaDB-10.3.7

主从关系: MariaDB01为主,MariaDB02为从

2)MariaDB01

1. 修改配置文件

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

  在[mysqld]下加入以下

  server-id=1

  log-bin=mysql-bin

2. 重启mysql服务

    service mysqld restart

3.创建主从连接帐号与授权

  CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';

  grant replication slave on *.* to slave@'%' identified by 'slave';

  flush privileges;

4.show master status

3)MariaDB02

1. 修改配置文件

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

  server-id=2

2. 重启mysql服务

  service mysqld restart

3.登录数据库

  mysql -uroot -proot4. 建立主从连接

  CHANGE MASTER TO MASTER_HOST='192.168.52.233', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=528;

  start slave;

4.多主架构galera

1)三台主机:

192.168.52.233

192.168.52.234

192.168.52.235

三台主机都要设置解析规则

  vim /etc/hosts

  192.168.52.233 node1

  192.168.52.234 node2

  192.168.52.235 node3

2)配置文件:

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

  wsrep_on=ON

  wsrep_provider=/usr/lib64/galera/libgalera_smm.so

  wsrep_cluster_address="gcomm://192.168.52.233,192.168.52.234,192.168.52.235"

  binlog_format=row

  default_storage_engine=InnoDB

  wsrep_node_name=node1(node2,node3与主机名无关)

3)初始化:

  mysqld_safe --wsrep_cluster_address=gcomm://192.168.52.233,192.168.52.235,192.168.52.234

4)启动数据库

在其中一个节点上执行galera_new_cluster

剩余2个节点用service mariadb restart

5)查看状态:

show status like '%wsrep%';

6)关键参数:

  wsrep_cluster_size | 3 | ##集群成员

  wsrep_cluster_status | Primary | ##主服务器

  wsrep_connected | ON | ##当前是否连接中

  wsrep_incoming_addresses | 192.168.153.142:3306,192.168.153.143:3306,192.168.153.144:3306 | ##连接中的数据

  wsrep_ready | ON | ##插件是否应用中

mariadb数据库集群的更多相关文章

  1. MariaDB——数据库集群

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

  2. mariadb 数据库集群配置

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

  3. 构建 MariaDB Galera Cluster 分布式数据库集群(一)

    MariaDB Galera Cluster 介绍 简介 MariaDB集群是MariaDB同步多主机集群,仅支持XtraDB(详见本文结尾注释)/InnoDB存储引擎(虽然有对MyISAM实验支持 ...

  4. 数据库集群 MySQL主从复制

    MySQL主从复制 本节内容我们联系使用MySQL的主从复制功能配置Master和Slave节点,验证数据MySQL的数据同步功能. 因为要使用多个MySQL数据库,所以不建议在电脑上安装多个MySQ ...

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

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

  6. docker应用-6(mysql+mycat 搭建数据库集群)

    上一节,通过使用overlay网络,搭建了跨主机的docker容器集群.下面,在这个跨主机的docker容器集群环境下,搭建mysql 数据库集群. mysql主从自动备份和自动切换 从数据安全性考虑 ...

  7. CentOS 7 搭建PXC 数据库集群

    CentOS 7 搭建PXC 数据库集群 PXC( Percona XtraDB Cluster ) 特点如下: 1.同步复制,事务要么在所有节点提交或不提交,保证了数据的强一致性. 2.多主复制,可 ...

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

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

  9. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

随机推荐

  1. css 判断是iphone4s iphone5 加载不同样式

    @media (device-height:480px) and (-webkit-min-device-pixel-ratio:2){/* 兼容iphone4/4s */ .class{}}@med ...

  2. HTTP协议几个版本的理解

    HTTP (HyperText transfer protocol) 超文本传输协议 Http是一个应用层协议,基于TCP协议(传输层)之上,规定WWW服务器 浏览器之间信息传递规范.使用的默认端口号 ...

  3. Linux下nc或scp命令来实现文件传输

    很实用的小技巧, 可以使用nc或者是scp nc命令,转载自:https://www.cnblogs.com/xuybin/archive/2013/09/27/3343098.html 发送端:ca ...

  4. Confluence 6.15 博客页面(Blog Posts)宏参数

    参数是让你可以用来控制宏的格式和输出的选项.在 Confluence 存储格式或者 Wiki 标记(wikimarkup)中使用的参数名与在宏浏览器中使用的标签名是不同的,在下面我们将会用括号列出  ...

  5. MessagePack Java Jackson Dataformat 不使用 str8 数据类型的序列化

    老的 msgpack-java(例如 0.6.7)并不支持 MessagePack str8 数据类型. 当你的希望的你的应用程序需要支持老的版本的话,你需要禁用这个数据类型,例如使用下面的语句: M ...

  6. Vue_(组件通讯)非父子关系组件通信

    Vue单项数据流 传送门 Vue中不同的组件,即使不存在父子关系也可以相互通信,我们称为非父子关系通信 我们需要借助一个空Vue实例,在不同的组件中,使用相同的Vue实例来发送/监听事件,达到数据通信 ...

  7. Java 全栈知识体系 - 个人博客

    摘自:https://www.pdai.tech/ 著作权归https://www.pdai.tech所有. 链接:https://www.pdai.tech/ Java 全栈知识体系 包含: Jav ...

  8. vue 2.x 的 v-bind 指令的 .prop 事件修饰符详解

    vue 官方文档对 .prop 修饰符的解释是: 使用例子: 那么,具体的原理和用法是什么呢?这要从 html 的 DOM node 说起. 在 html 标签里,我们可以定义各种 attribute ...

  9. HDX Insight Installation & Configuration

    NetScaler Insight Center 11.1 Installation & Configuration   NetScaler Insight Center 11.0 Insta ...

  10. vue-cli 3x 的使用

    当我们使用 npm 下载过文件之后,里面就会有缓存 我们要使用 npm cache clean --force 来清除缓存 创建项目:vue create 文件名 然后:cd 文件名 启动程序:npm ...