• mariadb数据库集群


    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 | ##插件是否应用中
  • 相关阅读:
    团队开发——描绘用户场景
    学习EXTJS6(2)“Hello Usegear”
    D2007从win7升级到win10下的莫名其妙问题。
    学习EXTJS6(1)安装环境
    raize5的修改。
    EurekaLog是什么鬼?
    EditorLineEnds.ttr的困扰
    dev的汉化
    cxGrid主从表删除从表记录的困惑
    痛苦的Windows下的temp目录
  • 原文地址:https://www.cnblogs.com/Agnostida-Trilobita/p/11159634.html
Copyright © 2020-2023  润新知