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. redis实现排行榜功能

    目录 加入排行榜 操作排行榜 redis的zset可以很方便地用来实现排行榜功能,下面简单介绍python如何使用redis实现排行榜功能 加入排行榜 获取redis实例 import redis m ...

  2. CodeForces 788B - Weird journey [ 分类讨论 ] [ 欧拉通路 ]

    题意: 给出无向图. good way : 仅有两条边只经过一次,余下边全经过两次的路 问你共有多少条不同的good way. 两条good way不同仅当它们所经过的边的集合中至少有一条不同 (很关 ...

  3. Confluence 6 分享一个文件

    协同合作和编辑不仅仅是发生在页面中,很多时候你需要与你的项目小组针对文档,报告,图片,表格进行协同操作.不管是针对性的市场计划或者一个完整的项目计划,你可以在 Confluence 中让你的项目小组成 ...

  4. Python GDAL

    https://gdal.org/ https://pypi.org/project/GDAL/ gdal whl:https://blog.csdn.net/u012581929/article/d ...

  5. JavaScript:固定table的表头

    当表格数据很多,以致于容器块元素出现滚动条.而在滚动滚动条的时候,数据行会被块元素遮挡.若要保持表格的head部分始终在可视范围内,我们需要对表头进行特殊的样式设置.下面的jsp代码可以实现表头固定, ...

  6. [SQL Server常用系统存储过程大全]

    1.  sp_help   报告有关数据库对象(sys.sysobjects 兼容视图中列出的所有对象)  sp_help    表名称,存储过程名称等 2.  sp_helpdb   报告有关数据库 ...

  7. linux vim的全目录搜索 和 hostname的设置?

    vim下的搜索命令是: vimgrep, 简写就是vim. 关于这个全局搜索的用法根grep的差不多, 但是, 如果你直接使用 grep的话 就会在vim的外部执行, 根vim内部就没有什么关系了, ...

  8. Linux文件目录操作命令

    ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...

  9. How to run a VBA macro when new mail is received in Outlook

    It can be very useful to run a VBA macro when new mail is received in Outlook. A customer asked me t ...

  10. 【经验】PHP开发中 &#65279 导致页头一行空白

    PHHP开发中  有的时候遇到页面顶部多出一行空白,审查元素发现头部有一行  比如在$this->dispay();方法中最前面加入ob_clean();   ================ ...