zoukankan      html  css  js  c++  java
  • 17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment

    17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment 介绍在现有的复制环境中引入额外的

    slaves

    为存在的复制配置 增加另一个slave,
    你可以做在不需要停止master的情况下,代替的是,

    设置一个新的slave通过现有的slave的拷贝,除了你配置新的slave 使用不同的server-id值。

    复制一个已经存在的slave:

    关闭已经存在的slave:

    shell> mysqladmin shutdown

    从现有的slave 拷贝数据目录到新的slave,你可以做这个通过创建一个压缩包使用Winzip或者执行一个

    直接的copy 使用cp 或者rsync 。确保你拷贝了log files和relay log files:

    一个常见的问题是当增加一个新的复制slaves 是新的slave遇到一系列的警告和错误如下:

    071118 16:44:10 [Warning] Neither –relay-log nor –relay-log-index were used; so
    replication may break when this MySQL server acts as a slave and has his hostname
    changed!! Please use ‘–relay-log=new_slave_hostname-relay-bin’ to avoid this problem.
    071118 16:44:10 [ERROR] Failed to open the relay log ‘./old_slave_hostname-relay-bin.003525’
    (relay_log_pos 22940879)
    071118 16:44:10 [ERROR] Could not find target log during relay log initialization
    071118 16:44:10 [ERROR] Failed to initialize the master info structure

    这是由于,如果–relay-log 选项没有被指定, relay log files包含host name 作为它们的名字。

    (这也是真实的 relay log index 文件 如果–relay-log-index 选项没有被使用)

    为了避免这个问题,使用相同的值 对于–relay-log 在新的slave和存在的slave相同的值。

    (如果这个选项没有在存在的slave上设置,使用existing_slave_hostname-relay-bin.)

    如果这是不可行的, 复制存在的slave的relay log index 文件到新的slave,设置–relay-log-index 选项

    在新的slave上来匹配 存在的slave上的名字。(如果这个选项没有被设置在存在的slave上, 使用existing_slave_hostname-

    relay-bin.index.)

    作为一种选择,如果你已经尝试启动新的slave,遇到错误想先前描述的—执行下面的步骤:

    如果你还没这么做,执行STOP SLAVE 在新的slave上。

    如果你已经再次启动了存在的slave,执行STOP SLAVE 在存在的slave上

    复制存在的slave的relay log index file 到新的slave的relay log index file ,确保覆盖任何文件中的任何内容

    继续在本节中的其余步骤

    复制master info 和relay log info 信息库(see Section 17.2.2, “Replication Relay and Status Logs”)

    从已经存在的slave到新的slave.

    这些持有当前master的binary log 和slave的relay log 坐标。

    启动存在的slave:

    在新的slave上,编辑配置和给一个新的slave 一个唯一的server-id

    启动新的slave

  • 相关阅读:
    递延收益为什么属于负债类科目
    java 环境变量脚本
    dotnet 执行命令常用代码
    centos安装nuget
    centos 安装nodejs redis
    linux git 记住密码
    libgit2-6311e88: cannot open shared object file: No such file or directory
    angular ng build 报错 Cannot read property 'default' of undefined
    java ObjectMapper json 与对象的相互转换
    java 流不能复用 stream has already been operated upon or closed 内存分页
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351329.html
Copyright © 2011-2022 走看看