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. SiteMesh的简单使用

    简介: SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的. 它能通过创建一个包装对象,也就是装饰来包裹的对象.尽管它是由Java语言来实现的, ...

  2. Java之正则表达式来判断字符串中是否包含字母

    /** * 使用正则表达式来判断字符串中是否包含字母 * @param str 待检验的字符串 * @return 返回是否包含 * true: 包含字母 ;false 不包含字母 */ public ...

  3. MongoDB——morphia

    禁止保存className:@Entity(noClassnameStored = true) https://stackoverflow.com/questions/17719018/a-field ...

  4. Linux系统挂载存储只读改成读写

    Copy from:https://blog.csdn.net/u010977122/article/details/53316671 1.mount:用于查看哪个模块输入只读,一般显示为:[root ...

  5. windows环境下,mysql的root密码丢失后重置方法

    运行窗口输入 services.msc,检查mysql服务是否启动,如果启动手动停止或输入 net stop mysql 停止msyql服务.   打开cmd命令行,使用cd命令进入mysql 的bi ...

  6. 【Python网络】网络协议篇

    OSI七层协议 互联网协议按照功能不同分为OSI七层 或 TCP/IP五层 或 TCP/IP四层 每层运行常见物理设备 TCP/IP五层模型讲解 每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬 ...

  7. dataGridView添加ComboBox 每行绑定不同的集合,显示默认值

    好了 多说无意,直接上代码,看不看的懂,就看大家的了,解决问题后,可以评论回复,可以一起商讨一些疑难杂症 List<ProtocolInfo> list = piDB.FindAll(). ...

  8. 如何查询Office版本号

     造冰箱的大熊猫@cnblogs 2019/1/28 如何查询当前所用Microsoft Office的版本信息? 以Word 2007为例,点击程序左上角的Office图标,在弹出的菜单中选择“Wo ...

  9. Confluence 6 删除一个附加的文件

    你需要具有 删除附件(Delete Attachment)的空间权限来删除一个附加的文件. 希望删除一个附加文件的所有版本: 进入含有附件的页面中. Go to  > Attachments 选 ...

  10. K8S中的Job和CronJob

    Job Job负责批量处理短暂的一次性任务 (short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束. Kubernetes支持以下几种J ...