mysql架构篇之复制模式

Mysql的复制模式介绍:

  *异步复制

  主服务器执行完一次事务后,立即将结果返回给客户端,不关心从服务器是否已经同步数据。

  *半同步复制

  介于异步复制与同步复制之间

  主服务器在执行完一次事务后,等待至少一台从服务器同步数据完成,才将结果返回给客户端

 

Mysql默认异步复制:

 

 

开启半同步复制:

  1:查看是否允许动态加载模块(默认允许)

    show variables like 'have_dynamic_loading';

    

 

   2:命令行加载插件:

    

install plugin rpl_semi_sync_master SONAME "semisync_master.so";
    //主服务器上执行
install plugin rpl_semi_sync_slave SONAME "semisync_slave.so";
    //从服务器上执行
select plugin_name,plugin_status from information_schema.plugins where plugin_name like "%semi%";
    //查看

 

 

 

模式配置:

启用半同步复制

  半同步复制,默认是关闭的

  

set global rpl_semi_sync_master_enabled=1;
show variables like "rpl_semi_sync_%_enabled";

 

 

此上的方式,只是临时的。

 

永久启用半同步复制

修改主配置文件/etc/my.cnf

在[mysqld]下方添加

主服务器
plugin-load=rpl_semi_sync_master=semisync+master.so rpl_semi_sync_master_enabled=1

从服务器
plugin-load=rpl_semi_sync_slave=semisync_slave.so
rpl_semi_sync_slave_enabled=1

 

如果该主机属于Master又属于Slave时

需同时启用

plugin-load=rpl_semi_sync_master=semisync+master.so;plugin-load=rpl_semi_sync_master=semisync+slave.so
rpl_semi_sync_master_enabled=1

rpl_semi_sync_slave_enabled=1
 

 

posted @ 2021-04-24 11:12  樱花泪  阅读(128)  评论(0编辑  收藏  举报