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

来源:互联网 发布:大人变小孩软件 编辑:程序博客网 时间:2024/06/18 17:46
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.

0 0
原创粉丝点击