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
ansheng
V2EX  ›  MySQL

我所理解的 MySQL 主从复制有错误吗?

  •  
  •   ansheng ·
    anshengme · 2016-10-20 01:03:11 +08:00 · 2320 次点击
    这是一个创建于 2988 天前的主题,其中的信息可能已经有所发展或是发生改变。

    master-slave-replication

    再解释 MySQL 主从复制之前我们需要先启动 Master 数据库然后再启动 Salve 数据库,然后在 Salve 数据库中执行 start slave;,执行完成之后,流程就如下了:

    1. Salve 的 IO 线程会读取 mastr.info 文件中配置好的主库信息,比如说存放的有: Master 数据库的用户名、密码、端口、还有 Master 的 binlog 索引位置;
    2. 拿到信息之后就带着信息去链接 Master 的主库 IO 线程
    3. 当主库的 IO 线程先检查 SLave 传过来的配置信息是否正确,如果正确,就拿着 Slave 传过来的 binlog 索引位置和 Master 库的 binlog 文件中最后一个索引位置进行对比,如果一致就陷入等待状态,等待 Master 的 binlog 索引位置更新;
    4. 如果不一致就把 Slave 传过来的 binlog 索引位置往后的所有 SQL 语句包括最后一条 SQL 语句的索引位置发送个给 Slave 的 IO 线程;
    5. Slave 的 IO 线程拿到信息之后,先把 Master 传过来的 binlog 索引在 Slave 的 master.info 文件中进行更新;
    6. 然后再把 Master 传过来的 SQL 语句写入到 relay 文件中,然后继续循环执行第二个步骤;
    7. Slave 的 SQL 线程会一直持续的观察 relay 日志文件中是否有改动,如果没有就继续监听;
    8. 如果发现 relay 中有变动,那么就获取变动的内容转换为 SQL 语句,并且把 SQL 语句在 Salve 的数据库中进行执行

    阅读原文

    7 条回复    2016-11-14 18:03:14 +08:00
    julyclyde
        1
    julyclyde  
       2016-10-20 15:57:01 +08:00
    先把 slave 拼写正确再理解
    julyclyde
        2
    julyclyde  
       2016-10-20 15:57:12 +08:00
    麻烦你把 master.info 也写对
    ansheng
        3
    ansheng  
    OP
       2016-10-20 15:59:26 +08:00
    @julyclyde = =.不是 slave 那是撒,
    julyclyde
        4
    julyclyde  
       2016-10-20 22:28:40 +08:00
    @ansheng 是 slave ;但你写的不是 slave
    ansheng
        5
    ansheng  
    OP
       2016-10-20 23:13:48 +08:00
    @julyclyde 我写的是啊
    julyclyde
        6
    julyclyde  
       2016-10-21 12:51:35 +08:00
    @ansheng 我觉得你真不是学工科的那块料了,你缺乏最基本的认真
    mlixuequan
        7
    mlixuequan  
       2016-11-14 18:03:14 +08:00
    分析的不错,学习了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1346 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.