V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
uti6770werty
V2EX  ›  MySQL

新增的服务器,准备做主主,有些迷糊,请教若干概念问题

  •  
  •   uti6770werty · 2022-04-01 20:19:22 +08:00 · 1767 次点击
    这是一个创建于 997 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原有 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 状态了?

    2 条回复    2022-04-06 10:16:30 +08:00
    Chinsung
        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
    在线同步百度下文章
    jifengg
        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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5883 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:01 · PVG 10:01 · LAX 18:01 · JFK 21:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.