Mariadb——数据库集群

ⅰ亾dé卋堺 提交于 2019-12-02 09:13:05
mariadb数据库集群
  mariadb主从
    主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定的延迟性,也就是说可能会导致数据丢失,但是性能比较好,因此网站大多数
    用的是主从架构的数据库,读写分离必须基于主从架构来搭建。
    异步:提高效率,但是数据的安全性没有保证。
    同步:安全性高,但是效率不高
    增删改不多的情况下可以去使用主主架构。主主——预防单点故障。
  主从架构:一主多从、一主一从
    Master建立数据库账号——slave利用这个账号访问master的二进制文件,监控binlog的position。
    主从架构的搭建与配置:
      异步:效率高、安全性低、有延迟
      同步:效率低、安全性高、无延迟
      主:可读可写(dump thread)
      从:可读不可写(sql thread 、 i/o thread)
  

 

 


   @ps:单点故障解决方案:
       主主架构:
       互为主备,互相监控对方的二进制文件进行同步
       #note:当两个sql语句发生冲突的时候主主架构有可能出现数据不一致的情况。
       MHA(master high available)
          #MHA可以有多个配置文件,一个配置文件监控一个主从架构。
   配置:
     MASTER:
      1、在master配置文件/etc/my.cnf.d/server.cnf的[mysqld]加入以下:
      [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@'%';
      #grant replication slave on *.* to slave@'%' identified by 'slave';
      flush privileges;
      4、查看二进制日志
      show master status;  #从节点同步二进制日志的文件和位置。
     SLAVE:
      1、修改slave的配置文件/etc/my.cnf.d/server.cnf
      [mysqld]
      server-id=2
      2、重启mysql服务
      service mysqld restart
      3、登录数据库
      mysql -uroot -proot

      change master to master_host='MASTER_IP',master_user='slave',master_password='slave',master_log_file='mysql-bin.00001',master_log_pos=528;

      start slave;
      show slave status\G
     #需要注意的是,主动只能向后同步。如果前面还有数据也需要写到从的数据库里,可以使用备份与恢复来解决,然后再开启主从同步。
     #在从上可以创建,但是不会同步到主。
     #如果读节点要做集群,那么可以使用mycat来做读写分离,后端读节点集群使用lvs来做LB分发。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!