• 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;

     
  • 相关阅读:
    三次握手四次挥手
    OSI七层模型和TCP/IP协议族
    CSS水平垂直居中方式
    CSS9种水平居中方式
    CSS8种垂直居中方式
    scss 初学笔记 二 混合宏
    scss 初学笔记 一 变量声明 默认的样式 嵌套
    面向对象的程序设计之对象
    underscore.js 源码阅读 一 整体结构
    underscore.js 源码阅读 准备
  • 原文地址:https://www.cnblogs.com/itdev/p/6016473.html
Copyright © 2020-2023  润新知