zoukankan      html  css  js  c++  java
  • Mysql5.7基于日志转为基于事务主从复制

     将基于日志的复制变更为基于事务的复制

    mysql版本要高于5.7.6

    gtid_mode要设为off

    处理步骤

    详细步骤

    1.查看主从mysql版本是否高于5.7.6

    show variables like 'version';

    2.查看主从服务器mysql的gtid_mode是否为off

    show variables like 'gtid_mode';

    以下操作主从服务器同时设置

    3.设置主从服务器,注意查看mysql的log。

    set @@global.enforce_gtid_consistency=warn;

    set @@global.enforce_gtid_consistency=on;

    set @@global.gtid_mode=off_permissive;

    set @@global.gtid_mode=on_permissive;

    查看是否已经改变状态    show variables like 'gtid_mode';

     

    show status like 'ongoing_anonymous_transaction_count';  只查询从,出现空值或者0都是可以的

    set @@global.gtid_mode=on;

    以下操作从服务器设置

    改变auto_position状态

    stop slave;

    change master to master_auto_position=1;

    start slave;

     

    show slave status; 多了Gtid的设置,其他一样

    Error

    上述步骤刚做完,发现一个进程没启动,报一个1032的error。

    解决方法:跳过error

    (1)停止slave进程

    mysql> STOP SLAVE;

    (2)设置事务号,事务号从Retrieved_Gtid_Set获取

    在session里设置gtid_next,即跳过这个GTID,这里选Retrieved_Gtid_Set(未执行)存在且Executed_Gtid_Set(已执行)不存在的(其中-代表范围)

    mysql> SET @@SESSION.GTID_NEXT= '8f9e146f-0a18-11e7-810a-0050568833c8:4'

    (3)设置空事物

    mysql> BEGIN; COMMIT;

    (4)恢复事物号

    mysql> SET SESSION GTID_NEXT = AUTOMATIC;

    (5)启动slave进程

    mysql> START SLAVE;

    事务转日志链接 

  • 相关阅读:
    基于事件的异步编程
    基于任务的异步编程
    C#异步编程
    C#2.0
    Mac上安装Brew
    PHP中三维数组转二位数组,并且根据某个字段去重
    LNMP环境安装Laravel之后, 除了根目录下可以访问, 其他都是404页面
    LNMP一键安装包安装的mysql远程连接不上的问题
    CentOS7 安装Redis4.0
    CentOS 7 源码包安装SVN及使用
  • 原文地址:https://www.cnblogs.com/aeolian/p/9083605.html
Copyright © 2011-2022 走看看