Mariadb数据库集群设计实验

一.MariaDB Galera Cluster

        MariaDB Galera Cluster 是一套在 MySQL InnoDB 存储引擎上面实现 multi-master 及数据实时同步的系统架构,业务层面无需做读写分离工作,数据 库读写压力都能按照既定的规则分发到各个节点上去。在数据方面完全兼容 MariaDB 和 MySQL。

        (1)主要功能 ① 同步复制。 ② 真正的 multi-master,即所有节点可以同时读写数据库。 ③ 自动的节点成员控制,失效节点自动被清除。 ④ 新节点加入数据自动复制。 ⑤ 真正的行级别,并行复制。 ⑥ 用户可以直接连接集群,使用感受上与 MySQL 完全一致。

        (2)局限性 ① 目前复制仅仅支持 InnoDB 存储引擎,任何写入其他引擎的表,包括 mysql.*表将不会复制,但是 DDL 语句会被复制的,因此创建用户将会被复制, 但是插入用户将不会被复制的。 ② DELETE 操作不支持没有主键的表,没有主键的表在不同的节点顺序将 不同,如果执行 SELECT…LIMIT…,将出现不同的结果集。 ③ 在多主环境下,不支持 LOCK/UNLOCK TABLES(锁定表/解锁表), 以及 GET_LOCK(),RELEASE_LOCK()…(锁函数) ④ 查询日志不能保存在表中。如果开启查询日志,只能保存到文件中。 ⑤ 允许最大的事务大小由 wsrep_max_ws_rows 和 wsrep_max_ws_size定义, 任何大型操作将被拒绝,如大型的 LOAD DATA 操作。 ⑥ 由于集群是乐观的并发控制,事务 commit 可能在该阶段中止。如果有两 个事务向在集群中不同的节点向同一行写入并提交,失败的节点将中止。对于集 群级别的中止,集群返回死锁错误代码为 Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)。 ⑦ XA 事务不支持,因为在提交上可能回滚。  ⑧ 整个集群的写入吞吐量是由最弱的节点限制,如果有一个节点变得缓慢, 那么整个集群将变得缓慢。为了稳定的高性能要求,所有的节点应使用统一的硬 件。 ⑨ 集群节点建议最少 3 个。 ⑩ 如果 DDL 语句有问题将破坏集群。

二.基础准备

实验需要:mariadb-ha软件包()CentOS-7-x86_64-DVD-1804(下载映像文件,地址https://www.centos.org/download/)

(1)搭建三台实验节点

主机名 系统 IP 地址
node1 CentOS-7-x86_64-DVD-1804 192.168.200.11
node2 CentOS-7-x86_64-DVD-1804 192.168.200.12
node3 CentOS-7-x86_64-DVD-1804 1192.168.200.13
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值