Mysql半同步主从复制
2019-07-13 20:53
1666 查看
一、异步复制、同步复制、半同步复制的区别
异步复制:在主从架构中假如当客户端发送了一条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%'; #查看主节点状态
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; #启动后在主服务器状态变量中可以看到一个从节点
三、验证
在主服务器上创建数据库,二个从节点都可以同步
停止其中一个从服务器的Mariadb服务。同步不受影响
当二个从服务器服务都关闭,主服务器会等到rpl_semi_sync_master_timeout时间到了之后再执行
相关文章推荐
- mysql主从同步复制的配置
- MySQL主从复制(Master-Slave),半同步复制与读写分离(MySQL-Proxy)
- MySQL主从复制指定不同库表同步参数说明
- MySQL 5.5 主从复制异步、半同步以及注意事项详解
- MySQL的主从复制,半同步复制
- mysql的主从、主主及半同步复制
- MySQL数据的主从复制、半同步复制和主主复制详解
- Mysql实现数据库主从复制、主主复制、半同步复制
- MySQL主从复制、半同步复制和主主复制概述
- mysql主从复制,基于gtid的主从,半同步复制
- MySQL主从复制原理、半同步操作步骤及原理
- MySQL主从复制、半同步复制和主主复制概述
- mysql 主从复制同步时出错解决方法
- MySQL数据的主从复制、半同步复制和主主复制详解
- MySQL主从同步复制 for Debian OS
- mysql系列之复制2----主从同步部署
- MySQL数据的主从复制、半同步复制和主主复制详解-转
- 关于Mysql5.6半同步主从复制的开启方法
- MySQL的主从复制、半同步复制、主主复制详解