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. MQTT 入门介绍——菜鸟教程

    一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级& ...

  2. BZOJ 2242 / Luogu P2485 [SDOI2011]计算器 (BSGS)

    type 1type\ 1type 1 就直接快速幂 type 2type\ 2type 2 特判+求逆元就行了. type 3type\ 3type 3 BSGS板 CODE #include< ...

  3. Mybatis的@UpdateProvider注解的使用(转)

    废话不多说,直接上代码 @UpdateProvider(type = AppProvider.class, method = "updateApp") Integer update ...

  4. WCF错误:由于目标计算机积极拒绝,无法连接;127.0.0.1:3456

    问题描述 最近Windows打完补丁,原来部署在本机的WCF无法连接:出现如下WCF错误:由于目标计算机积极拒绝,无法连接:127.0.0.1:3456 解决方案 检查一下本机的服务:NetTcpAc ...

  5. 使用SpringSession和Redis解决分布式Session共享问题

    SpringSession优势 遵循servlet规范,同样方式获取session,对应用代码无侵入且对于developers透明化 关键点在于做到透明和兼容 接口适配:仍然使用HttpServlet ...

  6. DataGrid控件的列

    四种列(局限性较大)https://www.cnblogs.com/lonelyxmas/p/9442604.html 更强大的模板列(如控件居中等)https://www.cnblogs.com/l ...

  7. FZU - 2218 Simple String Problem 状压dp

    FZU - 2218Simple String Problem 题目大意:给一个长度为n含有k个不同字母的串,从中挑选出两个连续的子串,要求两个子串中含有不同的字符,问这样的两个子串长度乘积最大是多少 ...

  8. require.context

    带表达式的 require 语句 如果你的 require参数含有表达式(expressions),会创建一个上下文(context),因为在编译时(compile time)并不清楚具体是哪一个模块 ...

  9. BeanFactory和ApplicationContext的区别+部分Spring的使用

    BeanFactory和ApplicationContext的区别 ApplicationContext 方式加载:创建容器的同时 容器初始化,容器所有的bean创建完毕   Spring容器中获取一 ...

  10. Spring常用的jar+普通构造注入

    常用工具 jar 说明 提供AOP(面向切面编程)实现:spring -aop spring提供对AspectJ框架的整合:spring-aspects 提供 IoC(控制反转)的基础实现:sprin ...