MariaDB(mysql)之主主复制

 

一、主主复制说明

   MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。 这就比使用主从复制具有更好的性能。

二、关于主主复制过程中server-id的说明

   因为主主复制架构中是两台服务器互为主从,所以两台服务器必须都有填制日志和中继日志,而且他们的server-id必须不能一样。如果server-id一样了,那么:

   1、数据写入到A服务器的数据文件和二进制文件中,然后发送给B的中继日志;B根据中继日志写入到磁盘数据文件中

   2、同样的,此时B服务器发生数据修改,所以它会把记录写入到二进制日志文件中,然后再发送给A服务器的中继日志;A根据中继日志写入到数据文件中

   3、A、B都有中继日志,所以从中继日志中读过来的数据修改操作会写入到二进制文件中;这样,双方的二进制日志一变化,就会发送给对方的中继日志(而数据其实是相同的),这样不停地来来回回,就造成了死循环

   4、为了避免这种情况,就应该为A、B服务器指定不同的sercer-id,每个服务器在复制数据时,会保留对方信息的server-id;因此,A服务器通过B服务器复制过来的信息到中继日志,发现server-id就是自己的,就没有必要在写在本地了,这样就避免了循环复制

三、主主复制的实现

1、修改A服务器的配置

2、修改B服务器的配置文件

3、A服务器授权一个有复制权限的账号给B服务器

4、B服务器授权一个有复制权限的账号给A服务器

5、显示A服务器的状态信息,且去连接B服务器

6、显示B服务器的状态信息,且去连接A服务器

7、在A服务器上启动复制线程,并查看是否连接B服务器成功

8、在A服务器上启动复制线程,并查看是否连接B服务器成功

9、在A服务器上创建一个表

10、在A服务器上插入两条数据

11、在B服务器上同步成功。同样的,在B服务器上插入2条数据,就会同样的同步到A服务器中去了

四、遗留问题

   实验过程中,只保证了在A服务器上插入的是奇数id,在B服务器上插入的是偶数id,但没能实验让它们按顺序插入!

MariaDB的双主的更多相关文章

  1. MariaDB+Keepalived双主高可用配置MySQL-HA

    利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. ...

  2. keepalived+双主实践HA

    工作不怎么忙,搞点儿开发吧差点儿事,就想着弄点儿架构的事儿.正好前段时间看过关于keepalived+双主实现高可用的文章,也恰好身边的朋友所在的公司也部分用这个架构.没什么事儿就搞搞吧,正好对比下M ...

  3. mysql双主+keepalived

    环境 OS: centos7Mysql 版本: mysql 5.7Keepalived: keepalived-1.2.20Mysql-vip:192.168.41.100Mysql-master1: ...

  4. linux环境下配置mysql双主复制

    简单来说,双主复制就是让两台mysql服务器中的数据保持同步,可以用来实现灾备和负载均衡 主机1 IP:192.168.200.128 主机2 IP:192.168.200.131 两台主机系统均为c ...

  5. centos 下 mysql+keepalived实现双主自由切换

    目录 ip规划 mysql双主配置 keepalived配置 mysql1中keepalived的配置 mysql2中keepalived的配置 VIP漂移检测 本文的目的是搭建一个互为主从的mysq ...

  6. MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释)

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:生产环境中一台mysql主机存在单 ...

  7. nginx+mysql双主搭建

    说明:mysql双主架构经过测试在生产环境中使用没有问题,但是还是建议使用读写分离, Mysql主主同步环境部署: centos 7.4 三台云主机:mysql1 :10.1.1.142 mysql2 ...

  8. mysql双主架构

    注意:最好不要用innodedb来同步数据库,要用databus来同步数据库,数据量大要用上mycat中间件 Mysql主主同步环境部署: centos 7.4 三台云主机: mysql1 :10.1 ...

  9. mysql基础之mysql双主(主主)架构

    一.概念 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加m ...

随机推荐

  1. Linux备份入门:3种克隆方法详解_Clonezilla

    摘自:http://os.51cto.com/art/201006/206871.htm 给你的系统磁盘制作一个镜像拷贝是创建备份的好办法.由于便携式U盘总是有比较低廉的价格,你可以维护数个拷贝以便循 ...

  2. 20145305 《Java程序设计》第7周学习总结

    教材学习内容总结 1.只有Lambda表达式,参数的类型必须写出来,如果有目标类型,在编译程序可推断出类型的情况下,可以不写出 2.Lambda表达式本身是中性的,不代表任何类型的实例,可用来表示不同 ...

  3. PreparedStatement批量(batch)插入数据

    JDBC操作数据库的时候,需要一次性插入大量的数据的时候,如果每次只执行一条SQL语句,效率可能会比较低.这时可以使用batch操作,每次批量执行SQL语句,调高效率. public Boolean ...

  4. try-catch中的finally块

    finally块定义在catch的最后,只能出现一次. 无论程序是否出错都会执行的快板!无条件执行

  5. Spring Data Jpa 规范接口表

      Keyword Sample JPQL snippet And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname ...

  6. 产生library cache latch原因

    产生library cache latch原因The library cache latches protect the cached SQL statements and objects' defi ...

  7. HDU 4770 Lights Against Dudely

    Lights Against Dudely Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  8. 150 Opening ASCII mode data connection. FTP连接的PASV和PORT方式

    FTP连接服务器时出现 150 Opening ASCII mode data connection.一般是客户端设置PORT 主动方式连接造成的.切换成PASV 被动模式后一般能连接上. 一.什么是 ...

  9. [原创] IIS7下顶级域名301跳转到WWW域名

    百度搜索了众多方法,居然没有一个全面的IIS7下301域名跳转能用的教程,最终自己研究出了个可以用的供大家参考.1.绑定域名01ruodian.cn www.01ruodian.cn到空间: 2.在I ...

  10. LoadRunner界面分析(一)

    1.Virtual User Generator 2.新建脚本的方式 3.Task模式 4.Recording Options选项 5.Run-Time setting选项