成都网站建设设计

将想法与焦点和您一起共享

Mysql异步复制、同步复制、半同步复制的区别-创新互联

这篇文章主要介绍“Mysql异步复制、同步复制、半同步复制的区别”,在日常操作中,相信很多人在Mysql异步复制、同步复制、半同步复制的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql异步复制、同步复制、半同步复制的区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联专注于元宝网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供元宝营销型网站建设,元宝网站制作、元宝网页设计、元宝网站官网定制、小程序定制开发服务,打造元宝网络公司原创品牌,更为您提供元宝网站排名全网营销落地服务。

一、异步复制、同步复制、半同步复制的区别

    异步复制:在主从架构中假如当客户端发送了一条UPDATE语句,主服务器上I/O thread 线程将二进制日志写入binlog文件之后就返回客户端结果,不管从服务器是否已经同步到从服务器的relaylog中,性能是最好的,缺点主服务器宕机,容易造成数据不一致,Mysql中默认使用的就是异步复制

    同步复制:当主服务器完成更新,并且同步到所有从服务器才会返回成功结果,效率低,影响性能

    半同步复制:将两种方法折中,当主服务器完成更新,至少有一个从服务器接收到并完成更新,主服务器就返回成功

二、具体实现

半同步至少需要3台主机,2台和异步就没有区别了,需要使用Mysql5.5以上版本,半同复制是通过插件Mysql包中的插件实现的

1、搭建主从复制

主服务器

vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql server-id=57       #添加唯一 id                                                                log-bin         #开启二进制日志创建账号 MariaDB [(none)]> grant replication slave on *.* to repluser@'192.168.12.%' identified by '12345'; 查看当前二进制日志位置 show master logs;

从服务器配置方法类似,不重复写了

vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql server-id=27   #添加唯一 id  log-bin     #开启二进制日志

Mysql异步复制、同步复制、半同步复制的区别

2、半同步复制配置

主服务器

MariaDB [(none)]> show plugins;  #可以查看安装的插件

安装主节点的插件

MariaDB [(none)]>INSTALL PLUGIN rpl_semi_sync_master SONAME  'semisync_master.so';  #安装主节点的插件 MariaDB [(none)]>SET GLOBAL rpl_semi_sync_master_enabled=1;   #启用 MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_timeout = 10000;  #10000ms不同步,主服务器直接回应客户端,默认10000 MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%';      #查看主节点状态

Mysql异步复制、同步复制、半同步复制的区别

MariaDB [(none)]> SHOW GLOBAL STATUS LIKE '%semi%';   #查看状态变量

二台从服务器配置一样

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME  'semisync_slave.so';   #安装从节点插件 MariaDB [(none)]> SET GLOBAL rpl_semi_sync_slave_enabled=1;    #启用 MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%';  MariaDB [(none)]> stop slave;  #从节点配置过需要重启线程才生效 MariaDB [(none)]> start slave;  #启动后在主服务器状态变量中可以看到一个从节点

三、验证

在主服务器上创建数据库,二个从节点都可以同步

Mysql异步复制、同步复制、半同步复制的区别

Mysql异步复制、同步复制、半同步复制的区别

停止其中一个从服务器的Mariadb服务。同步不受影响

当二个从服务器服务都关闭,主服务器会等到rpl_semi_sync_master_timeout时间到了之后再执行

到此,关于“Mysql异步复制、同步复制、半同步复制的区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Mysql异步复制、同步复制、半同步复制的区别-创新互联
本文路径:http://chengdu.cdxwcx.cn/article/dsdieg.html