学习mysql细节整理(二)

学习mysql细节整理(二)

mysql管理之道自我整理(二)

  1. 半同步复制:该模式可以确保从服务器接受完主服务器发送的binlog日志文件并写入自己的中继日志relay log里,然后给主服务器一个反馈,告诉对方已经接受完毕,这时主库线程才返回给当前session告知操作完成。当出现超时现象时,源主服务器会暂时切换到异步复制模式,知道至少有一台设置为半同步复制模式的从服务器及时收到信息位为止。

    注意:半同步模式必须主从服务器同时启用才生效,否则默认使用异步模式。

  2. 半同步安装配置:半同步负载插件在目录/usr/local/mysql/lib/mysql/plugin下只需按照下面步骤即可简单安装:

    #pwd

    /usr/local/mysql/lib/mysql/plugin

    ll -h semisync_*

    -rwxr-xr-x 1 root root 409K Oct 26 16:02 semisync_master.so

    -rwxr-xr-x 1 root root 245K Oct 26 16:02 semisync_slave.so

    在master和slave首次启动是,安装插件,并开启半同步复制。

    install plugin rpl_semi_sync_master soname 'semisync_master.so';

    set global rpl_semi_sync_master_enabled=on;


    install plugin rpl_semi_sync_master soname 'semisync_slave.so';

    set global rpl_semi_sync_slave_enabled=on

    加载一次就可以,就会将该插件记录到系统表mysql.plugin中,下次启动系统会自动加载该插件。

    rpl_semi_sync_master_enabled=1

    rpl_semi_sync_slave_enabled=1

    写入到my.cnf中即可。

  3. 参数说明:

    rpl_semi_sync_master_enabled=on 表示在master上开启半同步复制模式。

    rpl_semi_sync_master_timeout=10000,该参数在默认10000毫秒,即10秒。检测超时时间。

    rpl_semi_sync_master_wait_no_slave,表示是否允许master每隔事物提交后都要等待slave的接收信号。默认是on,都等待。off,则slave追赶上后,也不会开启半同步复制模式,需要手动开启。

    rpl_semi_sync_master_trace_level=32,指用于开启半同步模式的调试级别,默认32.

    rpl_semi_sync_slave_enabled=on 表示slave上开启半同步模式。

    rpl_semi_sync_slave_trace_level=32,指用于开启半同步模式的调试级别,默认32.

  4. 异步复制的性能(吞吐率)要稍好于半同步复制。


你可能感兴趣的:(复制,半同步,细节整理)