广告
返回顶部
首页 > 资讯 > 数据库 >MySQL主从半同步复制
  • 655
分享到

MySQL主从半同步复制

摘要

目录一、半同步复制1.半同步复制概念2.配置半同步1)主库操作2)从库操作3)额外参数 一、半同步复制 1.半同步复制概念 从Mysql5.5开始,支持半自动复制。之前版本的mysql Replication都是异步(asynchronou


	MySQL主从半同步复制
[数据库教程]

目录

  • 一、半同步复制
    • 1.半同步复制概念
    • 2.配置半同步
      • 1)主库操作
      • 2)从库操作
      • 3)额外参数

一、半同步复制

1.半同步复制概念

Mysql5.5开始,支持半自动复制。之前版本的mysql Replication都是异步(asynchronous)的,主库在执行完一些事务后,
是不会管备库的进度的。如果备库不幸落后,而更不幸的是主库此时又出现Crash(例如宕机),这时备库中的数据就是不完整的。
简而言之,在主库发生故障的时候,我们无法使用备库来继续提供数据一致的服务了。

半同步复制(Semi synchronous Replication)则一定程度上保证提交的事务已经传给了至少一个备库。
出发点是保证主从数据一致性问题,安全的考虑。

5.5 出现概念,但是不建议使用,性能太差
5.6 出现group commit 组提交功能,来提升开启半同步复制的性能
5.7 更加完善了,在group commit基础上出现了MGR
5.7 的增强半同步复制的新特性:after commit; after sync;

#缺点:
1.性能差,影响主库效率
2.半同步复制,有一个超时时间,超过这个时间恢复主从复制

# 半同步复制原理:
主要为了保证主库的binlog事务被可靠写入到从库中,主库在每次事务成功提交时,并不及时反馈给前端应用用户,
而是等待其中的一个从库也接收到Binlog事务并成功写入中继日志后,由从库的binlog返回一个ack给主库,主库只有接到从库发来的ACK确认,主库事务才能commit成功。
半同步复制保证了事务成功提交后,至少有两份日志记录,一份在主库的Binlog日志上,另一份在至少一个从库的中继日志Relay log上,从而更近一步保证了数据的完整性。

# 半同步复制和全同步的区别:
和mysql全同步复制的区别为,全同步复制需要保证每一个binlog事务都写入到从库中,而半同步复制只需要保证所有的从库中有一个binlog事务写入到从库中即可。

2.配置半同步

1)主库操作

#登录数据库
[[email protected] ~]# mysql -uroot -p123
#查看是否有动态支持
mysql> show global variables like ‘have_dynamic_loading‘;
#安装自带插件
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME‘semisync_master.so‘;
#启动插件
mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;
#设置超时
mysql> SET GLOBAL rpl_semi_sync_master_timeout = 1000;
#修改配置文件
[[email protected] ~]# vim /etc/my.cnf
#在[mysqld]标签下添加如下内容(不用重启库)
[mysqld]
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
检查安装:
mysql> show variables like‘rpl%‘;
mysql> show global status like ‘rpl_semi%‘;

2)从库操作

#登录数据库
[[email protected] ~]# mysql -uroot -poldboy123
#安装slave半同步插件
mysql>  INSTALL PLUGIN rpl_semi_sync_slave SONAME‘semisync_slave.so‘;
#启动插件
mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;
#重启io线程使其生效
mysql> stop slave io_thread;
mysql> start slave io_thread;
#编辑配置文件(不需要重启数据库)
[[email protected] ~]# vim /etc/my.cnf
#在[mysqld]标签下添加如下内容
[mysqld]
rpl_semi_sync_slave_enabled =1

3)额外参数

rpl_semi_sync_master_timeout=milliseconds
设置此参数值(ms),为了防止半同步复制在没有收到确认的情况下发生堵塞,如果Master在超时之前没有收到任何确认,将恢复到正常的异步复制,
并继续执行没有半同步的复制操作。

rpl_semi_sync_master_wait_no_slave={ON|OFF}
如果一个事务被提交,但Master没有任何Slave的连接,这时不可能将事务发送到其它地方保护起来。默认情况下,Master会在时间限制范围内继续等待Slave的连接,
并确认该事务已经被正确的写到磁盘上。
可以使用此参数选项关闭这种行为,在这种情况下,如果没有Slave连接,Master就会恢复到异步复制。

MySQL主从半同步复制

原文地址:https://www.cnblogs.com/tcy1/p/13378004.html

您可能感兴趣的文档:

--结束END--

本文标题: MySQL主从半同步复制

本文链接: https://www.lsjlt.com/news/7489.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL主从半同步复制
    目录一、半同步复制1.半同步复制概念2.配置半同步1)主库操作2)从库操作3)额外参数 一、半同步复制 1.半同步复制概念 从MYSQL5.5开始,支持半自动复制。之前版本的MySQL Replication都是异步(asynchronou...
    99+
    2022-01-18
    MySQL主从半同步复制 数据库入门 数据库基础教程 数据库 mysql
  • Mysql 主从复制之半同步复制(基于gtid)
    Mysql主从复制mysql主从复制原理:从库有两个线程IO线程和SQL线程1.从库的IO线程向主库的主进程发送请求,主库验证从库,交给主库IO线程负责数据传输;2.主库IO线程对比从库发送过来的maste...
    99+
    2022-10-18
  • MySQL主从复制之半同步semi-sync replication
    目录一、半同步简介二、两种模式介绍三、两种方式比较四、如何开启半同步五、查看插件开启情况六、开启半同步功能七、查看半同步是否运行八、半同步参数信息九、半同步状态信息十、测试一下半同步...
    99+
    2022-11-13
  • MySQL的主从复制、半同步复制和主主复制的概念
    本篇内容主要讲解“MySQL的主从复制、半同步复制和主主复制的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的主从复制、半同步复制和主主复制的概念...
    99+
    2022-10-18
  • MySQL中怎么实现主从复制和半同步复制
    这篇文章将为大家详细讲解有关MySQL中怎么实现主从复制和半同步复制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、复制的介绍MySQL支持单向、异步复制...
    99+
    2022-10-18
  • Mysql主从三种复制模式(异步复制,半同步复制,组复制)
    目录mysql异步复制半同步复制组复制MGR的解决方案现在具备的特性MGR的解决方案目前的影响MySQL异步复制 MySQL异步复制是主从复制过程中默认的复制模式。主从复制涉及三个线程,master I/O线程、slav...
    99+
    2022-08-10
    Mysql主从复制模式 Mysql异步复制 Mysql半同步复制 Mysql组复制
  • 半同步与异步的MySQL主从复制如何配置
    这篇文章主要介绍了半同步与异步的MySQL主从复制如何配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、MySQL主从复制原理这里我以M...
    99+
    2022-10-18
  • MYSQL架构中怎样进行主从半同步复制
    本篇文章为大家展示了MYSQL架构中怎样进行主从半同步复制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Mysql 5.5 版本之后引入了半同步复制功能,主从服务器...
    99+
    2022-10-18
  • 怎么样配置mysql主从复制、mysql-5.5异步及半同步
    下文主要给大家带来怎么样配置mysql主从复制、mysql-5.5异步及半同步,希望这些内容能够带给大家实际用处,这也是我编辑怎么样配置mysql主从复制、mysql-5.5异步及半同步这篇文章的主要目的。...
    99+
    2022-10-18
  • mysql 半同步复制
    一.半同步复制 半同步复制特点 1. 与传统的异步复制相比,半同步复制在多个Slave节点中会选取一个节点进行半同步复制。也就是说,当Master提交一个事务的时候,在这个半同步复制的Slave端返回一...
    99+
    2022-10-18
  • 【MySQL】半同步与增强半同步复制
    首先要明白事务提交的三个阶段,这里不再赘述。     半同步复制:主上已经提交了,但是日志还没来得及传到备库,这时候宕机了,在半同步看来,主库其...
    99+
    2022-10-18
  • MySQL的半同步复制
    MySQL5.5 除了支持内置的异步复制机制,还提供了接口支持半同步复制的机制。 异步复制的缺点: MySQL复制默认是异步复制,Master将事件写入binlog,但并不知道Slave是否...
    99+
    2022-10-18
  • mysql在线建立半同步复制的从库
    mysql在线建立半同步复制的从库 在主库和备库创建同步用的用户: grant replication slave on *.* to repl@'%' identified by 'xxx'; (1)...
    99+
    2022-10-18
  • Mysql异步复制、同步复制、半同步复制的区别
    这篇文章主要介绍“Mysql异步复制、同步复制、半同步复制的区别”,在日常操作中,相信很多人在Mysql异步复制、同步复制、半同步复制的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-18
  • MYSQL完全备份、主从复制、级联复制、半同步的知识点总结
    本篇内容介绍了“MYSQL完全备份、主从复制、级联复制、半同步的知识点总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2022-10-18
  • MySQL复制(二):半同步复制(Semisynchronous replicaiton)
    目录 一、半同步复制介绍 二、搭建半同步复制 2.1 安装半同步插件 2.2 启用半同步复制 三、配置半同步复制 四、监控半同步复制 一、半同步复制介绍 MySQL基础复制有三种模式:异步复制/同步复制/半同步复制,3种模式各有利弊,下...
    99+
    2023-09-20
    mysql 数据库 sql
  • MySQL 5.6 搭建半同步复制
    确定是否可以动态安装插件 show variables like '%have_dynamic_loading%'; ls /usr/local/mysql-5.6.38-linux-glibc2.12-x...
    99+
    2022-10-18
  • 快速笔记02-MySQL主从复制原理半同步操作步骤及原理
    ==========================================================一:MySQL主从复制规划主库:(MySQL master) IP:1...
    99+
    2022-10-18
  • mysql5.6半同步主从的安装步骤
    这篇文章主要讲解了“mysql5.6半同步主从的安装步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql5.6半同步主从的安装步骤”吧! 一 配置...
    99+
    2022-10-18
  • MySQL半同步复制如何配置
    本篇内容主要讲解“MySQL半同步复制如何配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL半同步复制如何配置”吧!前言:MySQL默认的主从复制采用...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作