zoukankan      html  css  js  c++  java
  • 十九、Mysql的半同步复制

    一、什么是半同步复制

    半同步复制(Semisynchronous replication) 介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延时的网络中使用。

    简单来说,半同步复制解决主从数据一致性问题。

    二、半同步复制工作原理的变化

    1. 主库执行新的事务,commit时,更新 show master  statusG ,触发一个信号给
    2. binlog dump 接收到主库的 show master statusG信息,通知从库日志更新了
    3. 从库IO线程请求新的二进制日志事件
    4. 主库会通过dump线程传送新的日志事件,给从库IO线程
    5. 从库IO线程接收到binlog日志,当日志写入到磁盘上的relaylog文件时,给主库ACK_receiver线程
    6. ACK_receiver线程触发一个事件,告诉主库commit可以成功了
    7. 如果ACK达到了我们预设值的超时时间,半同步复制会切换为原始的异步复制.

    三、配置半同步复制

    1、加载插件
    主:
    [(none)]>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    从:
    [(none)]>INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
    2、查看是否加载成功:
    [(none)]>show plugins;
    3、启动:
    主:
    [(none)]>SET GLOBAL rpl_semi_sync_master_enabled = 1;
    从:
    [(none)]>SET GLOBAL rpl_semi_sync_slave_enabled = 1;
    4、重启从库上的IO线程
    [(none)]>STOP SLAVE IO_THREAD;
    [(none)]>START SLAVE IO_THREAD;
    5、查看是否在运行
    主:
    [(none)]>show status like 'Rpl_semi_sync_master_status';
    从:
    [(none)]>show status like 'Rpl_semi_sync_slave_status';
    [(none)]> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    ERROR 1126 (HY000): Can't open shared library
    '/usr/local/mysql/lib/plugin/semisync_master.so'
    (errno: 22 libimf.so: cannot open shared object file:
    No such file or directory)
    
    #如果尝试安装插件导致在Linux上显示类似于此处所示的错误,则必须安装 libimf:
    #可以libimf从 https://dev.mysql.com/downloads/os-linux.html获得。

    更改配置文件

    主库配置

     
    [mysqld]
    rpl_semi_sync_master_enabled=1
    rpl_semi_sync_master_timeout=1000 # 1 second

    从库配置

    [mysqld]
    rpl_semi_sync_slave_enabled=1
  • 相关阅读:
    wince 下,拨号成功,但不能打开网页的问题
    Wince platform configure filesdetail
    WINCE ERRORMSG
    wince 6 s3c2440 io port opearation
    wince 6 kernel configure files
    赞cnblogs
    WINCE DEBUGMSG
    POJ3249 Test for Job DAG最短路
    HDU4552 怪盗基德的挑战书 KMP | 后缀数组 | 暴力
    HDU4554 叛逆的小明 水题
  • 原文地址:https://www.cnblogs.com/yaokaka/p/14083360.html
Copyright © 2011-2022 走看看