zoukankan      html  css  js  c++  java
  • MySQL GTID (二)

    MySQL GTID 系列之二

    三.在线将GTID转化为传统模式

    环境见上篇系列文章

    关闭GTID,不用停止服务,不影响线上业务

    3.1 关闭GTID复制,调整为传统复制

    #SLVAE实例上停止复制 
    STOP SLAVE
    
    #SLVAE实例上查看复制的位置
    SHOW SLAVE STATUS G
    # 查看 Master_Log_File 和 Read_Master_Log_Pos对应的值
    binlog.000012:1821
    
    #重新 CHANGE MASTER
    CHANGE MASTER TO MASTER_AUTO_POSITION=0,
                     MASTER_LOG_FILE='binlog.000012',
                     MASTER_LOG_POS=1821;
    
    #开启SLAVE
    START SLAVE;
    

    3.2 所有服务器上设置GTID模式为 ON_PERMISSIVE

    SET @@GLOBAL.GTID_MODE=ON_PERMISSIVE;
    

    3.3 所有服务器上设置GTID模式为 OFF_PERMISSIVE

    SET @@GLOBAL.GTID_MODE=OFF_PERMISSIVE;
    

    3.4 等待所有服务器上的变量@@GLOBAL.GTID_OWNED为空,它表示正在由线程执行的全局GTID集合

    mysql> SELECT @@GLOBAL.GTID_OWNED;
    +---------------------+
    | @@GLOBAL.GTID_OWNED |
    +---------------------+
    |                     |
    +---------------------+
    1 row in set (0.00 sec)
    

    3.5 等待所有SLAVE上都复制完成匿名事务。

    3.6 所有服务器上关闭GTID.

    SET @@GLOBAL.GTID_MODE=OFF;
    

    3.7 修改配置文件,以便下次重启,配置也是生效的。

    gtid_mode=OFF
    enforce_gtid_consistency=OFF
    

    四. 传统模式转换为GTID模式

    MySQL5.7.6版本以后,支持在线修改GTID模式

    4.1 所有服务器上设置ENFORCE_GTID_CONSISTENCY=WARN,使得所有事务允许违反GTID的一致性

    SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=WARN;
    

    4.2 所有服务器上设置ENFORCE_GTID_CONSISTENCY=ON.确保所有事务不能违反GTID的一致性

    SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=ON;
    

    4.3 所有服务器上设置GTID_MODE=OFF_PERMISSIVE

    SET @@GLOBAL.GTID_MODE=OFF_PERMISSIVE;
    

    4.4 所有服务器上设置GTID_MODE=ON_PERMISSIVE

    SET @@GLOBAL.GTID_MODE=ON_PERMISSIVE;
    

    4.5 等待所有从库 ONGOING_ANONYMOUS_TRANSACTION_COUNT为0

    SHOW STATUS LIKE 'ONGOING_ANONYMOUS_TRANSACTION_COUNT';
    

    4.6 所有服务器上设置 GTID_MODE=ON,开启GTID

    SET @@GLOBAL.GTID_MODE=ON; 
    

    4.7 修改配置文件,以便下次重启,配置也是生效的。

    gtid_mode=ON
    enforce_gtid_consistency=1
  • 相关阅读:
    第十三章 类继承
    第十一章 使用类
    第十章 对象和类
    第九章 内存模型和名称空间
    第八章 函数幽探
    史上最详细得虚拟机安装过程,傻瓜式操作
    JVM内存结构图表展示
    主流消息队列rocketMq,rabbitMq比对使用
    springboot+druid+mybatis plus的多数据源配置
    linux服务器开放防火墙和端口,以及查询状态
  • 原文地址:https://www.cnblogs.com/chinesern/p/9387963.html
Copyright © 2011-2022 走看看