• 17.1.1.4 Obtaining the Replication Master Binary Log Coordinates 获取复制Master Binary Log的坐标:


    17.1.1.4 Obtaining the Replication Master Binary Log Coordinates 获取复制Master Binary Log的坐标:
    
    
    你需要master的当前坐标 在它的binary log 为了配置slave来启动复制进程在合适的点上
    
    
    如果你有存在的数据在master上,你需要同步到你的slaves在开始复制进程前,
    
    
    你必须停止处理语句在master上, 然后得到它的准备的binary log 坐标然后dump 它的数据,
    
    在允许Master继续执行语句前,如果你不停止执行语句,数据dump和master 状态信息你使用的不会匹配 在你结束不一致的或者冲突的数据库
    
    在slaves上。
    
    要获得 master binary log 坐标,按照下面的步骤:
    
    
    
    1. 开始一个session 在master上通过连接到它在命令行客户端,flush all tables和block 写操作通过执行
    
     FLUSH TABLES WITH READ LOCK statement:
    
    2.对于InnoDB 表,FLUSH TABLES WITH READ LOCK 也堵塞 COMMIT操作
    
    警告:
    
       留着客户端 你执行FLUSH TABLES 语句 运行,这样read lock 仍旧有效,如果你退出客户端,lock被释放。
    
    
    
    2. 在一个不同的session在Master上,执行 SHOW MASTER STATUS 语句来确定当前的binary log 文件名和位置;
    
    mysql > SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 73       | test         | manual,mysql     |
    +------------------+----------+--------------+------------------+
    
    
    文件列显示 log file的名字,Position 显示文件的位置。
    
    在这个例子中,binary log 文件是mysql-bin.000003 和 位置是73.
    
    
    记录这些值,你需要随后当你设置复制的时候使用。它们代表复制坐标 slave应该开始处理新的更新从master server.
    
    
    如果master 已经之前运行了没有启动binary logging ,
    
    log 文件名字和位置值是通过SHOW MASTER STATUS or mysqldump --master-data 会显示为空。
    
    
    在那种情况下,  你需要使用的值 当指定slave的log 文件和位置是空的字符串
    
    
    你现在有需要的信息老让slave 开始从binary log 读取 在正确的位置开始复制
    
    
    如果你已经存在数据 需要同步到slave 在开始复制前,
    
    
    如果你设置一个新的master 和slave 复制组,你可以退出第一个session 窗口来释放read lock.
    

  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199535.html
Copyright © 2020-2023  润新知