原有 A 服务器,准备加 B ,和 A 做成主主模式
学习完一些案例和概念,也在虚拟机上做成了主 /备的实验,有些迷糊的概念,想请教一下 V 友
1 、Mysql 的机制,是改动的一方(master),向 slave 主动去推送数据变化,完成数据库的一致性,对不对?
2 、Mysql 的机制,是不能 slave 主动去获取 master 的数据库变化,由 slave 完成同步数据库一致性的,对不对? 问这个问题的想象场景是,master 可能会在间隔时间内发生 N*N 次数据变化,那么所有的变化节奏,slave 都会跟着节奏重做,而不是只看表的当前状态?
3 、A 原来已经有数据,在虚拟机上做的实验,是虚拟机 A 在配置成功,再上线后,A 的数据发生变化,B(slave)才会发生变化,那么,如果此时 B 想把 A 之前已经有的数据也完全镜像过来? 是否有在线运作的方式?
4 、我想象的 A/B 同步应该是要这么做,先把 A 停下来,B 同步好 A 的结构,数据,然后记下 binlog 的序号,pos 的序号,再去 B 里 CHANGE MASTER ****,进行步骤一致性,然后 A 和 B 跟着上线,对不对?
5 、能不能省事,A 不停,把 B 配置好,B 就开始 sync 了,等上一天,然后 B 就 ready 状态了?
1
Chinsung 2022-04-02 17:53:55 +08:00
1. 并不是主动,master 只负责往 binlog 写日志,slave 去订阅日志,有没有 slave 订阅和 slave 有没用成功与 master 无关
2. 不能,本质上 slave 只是拿到 binlog 去原模原样执行一次 3. 这个可以,前提是主库一直开启着 binlog ,从库 change master 的时候是可以指定 binlog 文件的 4. 同 3 5. 同 4 在线同步百度下文章 |
2
jifengg 2022-04-06 10:16:30 +08:00
做过双主,其实,如果只有两台服务器的话,不建议做主主,主从可能更适合。有 4 台以上才建议做双主多从这样。
双主,最主要的问题是,表的自增 id ,如果 A 不是一开始就设置步长=2 的话,需要停机修改配置后重启。 另一个问题是,AB 任意一台机器出现同步异常,数据一致性就很难搞,得停机。 针对问题 3 ,4 ,5 ,A 是可以不停机的。可以参考: https://cloud.tencent 点.com/developer/article/1468545 |