Mysql异步复制、同步复制、半同步复制的差异
发布时间:2022-01-19 13:33:56 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍Mysql异步复制、同步复制、半同步复制的区别,在日常操作中,相信很多人在Mysql异步复制、同步复制、半同步复制的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答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 #开启二进制日志 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%'; #查看主节点状态 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读