博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MariaDB的双主
阅读量:6124 次
发布时间:2019-06-21

本文共 974 字,大约阅读时间需要 3 分钟。

 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,但没能实验让它们按顺序插入!

转载于:https://www.cnblogs.com/na2po2lun/p/4271021.html

你可能感兴趣的文章
------__________________________9余数定理-__________ 1163______________
查看>>
webapp返回上一页 处理
查看>>
新安装的WAMP中phpmyadmin的密码问题
查看>>
20172303 2017-2018-2 《程序设计与数据结构》第5周学习总结
查看>>
eclipse中将一个项目作为library导入另一个项目中
查看>>
Go语言学习(五)----- 数组
查看>>
Android源码学习之观察者模式应用
查看>>
Content Provider的权限
查看>>
416. Partition Equal Subset Sum
查看>>
centos7.0 64位系统安装 nginx
查看>>
数据库运维平台~自动化上线审核需求
查看>>
注解开发
查看>>
如何用 Robotframework 来编写优秀的测试用例
查看>>
Django之FBV与CBV
查看>>
Vue之项目搭建
查看>>
app内部H5测试点总结
查看>>
Docker - 创建支持SSH服务的容器镜像
查看>>
[TC13761]Mutalisk
查看>>
三级菜单
查看>>
Data Wrangling文摘:Non-tidy-data
查看>>