zoukankan      html  css  js  c++  java
  • mysql的GTID复制和多源复制

    配置基于GTID的复制
    --------------------------------------------
    在参数文件/etc/my.cnf增加下面内容:
    主库
    master_info_repository=TABLE
    relay_log_info_repository=TABLE
    log-slave-updates=true
    gtid-mode=on
    enforce-gtid-consistency=true
    sync-master-info=1
    slave-parallel-workers=2
    binlog-checksum=CRC32
    master-verify-checksum=1
    slave-sql-verify-checksum=1
    binlog-rows-query-log_events=1
    report-host=10.45.10.209
    report-port=3306
    server_id = 2091


    从库除了上面的参数外,还要增加
    relay-log = relay-log
    relay-log-index = relay-log.index


    配置GTID的slave
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl123';
    flush privileges;
    change master to master_host='10.45.10.209', master_user='repl',master_password='repl123',master_auto_position=1;

    GTID复制的好处:
    对运维人员来说应该是一件大喜的事情,在主从切换后,在传统的方式里,你需要找到binlog和POS点,然后change master to指向,
    而不是很有经验的运维,往往会将其找错,造成主从同步复制报错,在mysql5.6里,你无须再知道binlog和POS点,
    你只需要知道master的IP、端口,账号密码即可,因为同步复制是自动的,mysql通过内部机制GTID自动找点同步。

    ----------------------------------------
    配置多源复制:
    即多个主,复制到1个从库,所有db汇总到一个slave的实例
    注意:
    多源数据库不能有同名库,否则会导致多源复制失败


    例如,在220的slave 3307实例上面配置多源复制,汇集3个主的数据
    CHANGE MASTER TO MASTER_HOST='10.45.10.209', MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl123',MASTER_AUTO_POSITION=1 FOR CHANNEL 'master209-2';
    CHANGE MASTER TO MASTER_HOST='10.45.10.218', MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl123',MASTER_AUTO_POSITION=1 FOR CHANNEL 'master218-2';
    CHANGE MASTER TO MASTER_HOST='10.45.10.219', MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl123',MASTER_AUTO_POSITION=1 FOR CHANNEL 'master219-2';

    常用管理命令:
    mysql> select * from mysql.slave_master_info;

    mysql> START SLAVE io_thread FOR CHANNEL 'master209-2';
    mysql> START SLAVE FOR CHANNEL 'master209-2';

    mysql> show SLAVE status FOR CHANNEL 'master209-2'G


    多源复制的好处:
    对于备份目的的主备架构,多个主可以备份到一台物理备机上,节约资源

  • 相关阅读:
    Sql 字符串按指定字符转多行(表值函数)
    C# 默认打印机设置
    Sql server 触发器状态查询
    指定周转对应日期
    Java发送HttpRequest
    Java实现手机号码归属地判别
    MySQL导入.sql文件及常用命令
    解释和编译的区别
    Java中的static关键字解析
    内存堆和栈的区别
  • 原文地址:https://www.cnblogs.com/caibird2005/p/5181101.html
Copyright © 2011-2022 走看看