美文网首页
在线关闭GTID模式

在线关闭GTID模式

作者: 这货不是王马勺 | 来源:发表于2022-02-22 11:45 被阅读0次

    今日遇到问题:GTID模式不支持“CTAS”语句,因此需要将语句分解为:
    CREATE TABLE t1_tmp LIKE t1;
    INSERT INTO t1_tmp SELECT * FROM t1;
    如果是CTAS是将表联查询结果作为新表,则无法使用like了,需要取消GTID模式才能使用“CTAS”(create table ... as select...)

    在线关闭gtid模式需要5.7.6版本以上的mysql
    整体步骤:关闭从库复制进程→关闭主库gtid模式→关闭从库gtid模式→以传统方式开启主从复制

    平滑关闭步骤:
    (1):stop slave;(如果是主库就不必执行此步骤)
    (2):SET GLOBAL GTID_MODE = 'ON_PERMISSIVE';
    (3):SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE';
    (4):SET GLOBAL GTID_MODE = 'OFF';
    之后查看状态:
    select @@GLOBAL.GTID_MODE;
    配置文件中GTID_MODE = OFF;

    关闭ENFORCE_GTID_CONSISTENCY:
    在线修改 :SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = off;
    配置文件中 :ENFORCE_GTID_CONSISTENCY = off;
    (从库还需要执行CHANGE MASTER TO MASTER_AUTO_POSITION = 0)

    传统主从复制的binlog和position号选择切换时间的第一个binlog的第一号
    一般习惯是在主库关gtid后紧接着create一个测试空库,
    create database test;
    之后从库开启传统复制后空库同步过来的话说明可以

    相关文章

      网友评论

          本文标题:在线关闭GTID模式

          本文链接:https://www.haomeiwen.com/subject/myfokrtx.html