zoukankan      html  css  js  c++  java
  • Mysql之多源复制

    在复制时,可以有多个Master。这些Master不进行冲突检查拓扑到Slave。在使用多源复制时对Slave的表存储格式是有要求的,必须要基于table存储而非文件存储【require table based repositories,not file based repositories】。所以可以在Slave启动时设置或设置在配置文件中:

    1.修改:

    master_info_repository='TABLE';

    relay_log_info_repository='TABLE';

    默认是基于File的。

    2.配置:

    【基于GTID】确保每个Master开启GTID,使用CHANGE MASTER TO 为每一个挂载到Slave上的Master上指定Channel。

    如:

    CHANGE MASTER TO MASTER_HOST='master1', MASTER_USER='rpl', MASTER_PORT=3451, MASTER_PASSWORD='',MASTER_AUTO_POSITION = 1 FOR CHANNEL 'master-1';
    【基于BinLog】
    CHANGE MASTER TO MASTER_HOST='master1', MASTER_USER='rpl', MASTER_PORT=3451, MASTER_PASSWORD='' 
    MASTER_LOG_FILE='master1-bin.000006', MASTER_LOG_POS=628 FOR CHANNEL 'master-1';【需确定MASTER_LOG_FILE 和MASTER_LOG_POS】
    3.启动Slave:
    使用 start slave thread_types启动复制。可以在Slave上启动多个Channel,也可以启动一个指定的Channel。
      start slave [thread_types];
      start slave [thread_types] for CHANNEL channel;
    4.关闭Slave:
    stop slave [thread_types]; 终止当前的所有Channels。
    stop slave [thread_types] for CHANNEL channel;

    Note:thread_types是为Slave线程指定一个Name。
    5.重置Multi-Source Replication slaves:
    reset slave [for CHANNEL channel];可针对所有的也可重置指定的channel.
    reset slave会清除BinLog中的位置,意味着有一个clean start:清除Master.info,relay-log并开启一个新的relay log.[在执行前先stop]

    6 监控:
    a.查看指定在channel上的状态,如 show slave status for CHANNEL chnanel_name.默认查看所有。
    b.使用performance schema中的表监控channels.与Replication相关的表有如下这些:
    b-1 监控Channel的连接状态:select * from replication_connection_status;

     
  • 相关阅读:
    内存泄漏检测工具
    RGB 颜色 代码 转换器
    索引 扫描及查找 1
    IIS7中Integrated和classic的区别
    HTTP请求上下文之终结:HttpContext类
    vs2010 快捷键大全
    IIS 7.0 中的 HTTP 状态代码
    JSON Date Format
    如何使用 MasterPage(注意母板页和子页面的执行顺序)
    B树、B树、B+树、B*树
  • 原文地址:https://www.cnblogs.com/itdev/p/6016473.html
Copyright © 2011-2022 走看看