MySQL主从和主备的区别

本文详细阐述了MySQL的主从复制与主备切换机制,包括增强半同步复制与异步复制的原理与差异,以及Oracle ADG与MySQL复制技术的对比。重点讨论了如何利用这些技术提升数据库系统的可靠性和可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

区别

数据库主主:两台都是主数据库,同时对外提供读写操作。客户端访问任意一台。数据存在双向同步。

数据库主从:一台是主数据库,同时对外提供读写操作。一台是 从数据库,对外提供读的操作。数据从主库同步到从库。

数据库主备:一台是主数据库,同时对外提供读写操作。一台是 备库,只作为备份作用,不对外提供读写,主机挂了它就取而代之。数据从主库同步到备库。

从库和备库,就是slave库功能不同因此叫法才不一样而已。一般slave库都会对外提供读的功能的,因此,大家日常听得比较多就是 主从。

聊聊 MySQL 的主从

增强半同步复制和异步复制

增强半同步复制和异步复制是MySQL中用于实现主从复制的两种常见方式。

增强半同步复制是一种同步策略,它确保至少有一个备库已经接收并确认了主库的事务日志,然后主库才会提交事务。这种方式可以提高数据同步的可靠性,但也会引入一定的延迟。具体延迟情况取决于网络延迟、备库的处理能力以及主库的负载情况等因素。

相比之下,异步复制不要求备库确认接收和应用主库的事务日志,主库在提交事务后立即返回给客户端。这种方式的优势是主库的写操作不会受到备库的影响,但同时也存在数据同步滞后的可能性。由于不需要等待备库的确认,异步复制通常具有更低的延迟。

因此,在采用增强半同步复制和异步复制的架构中,备库支持主备切换,意味着备库可以在主库故障时接管成为新的主库。由于备库采用增强半同步复制,其与主库之间的数据同步更可靠,并且可以更快地进行主备切换。而从库采用异步复制,因此可能存在一定的数据同步延迟,它仅用于读取目的,并不参与主备切换操作。

主库

show master status\G
在这里插入图片描述

备库

show slave status\G
在这里插入图片描述
mysql增强半同步复制
MySQL 5.7 新特性之增强半同步复制
在这里插入图片描述

从库

show slave status\G
在这里插入图片描述
在这里插入图片描述

Relay_Log_Pos

增强半同步复制不能保证binglog同步到备库吗?

增强半同步复制可以提高主库到备库的同步可靠性,但仍然无法完全保证binlog能够同步到备库。增强半同步复制是一种MySQL复制机制,在传统的异步复制基础上引入了同步确认机制。

在增强半同步复制中,主库在将binlog事件发送给备库后,会等待至少一个备库成功接收并应用该事件,然后才会继续进行下一个事件的提交。这样可以减小数据丢失的可能性,因为如果主库发生故障,只有已经完成同步的binlog事件才会丢失。

虽然增强半同步复制提供了更高的同步可靠性,但仍存在以下情况导致binlog无法同步到备库:

  1. 备库网络故障:如果备库出现网络问题,导致主库无法收到备库的同步确认信息,主库可能会继续提交新的binlog事件,而备库无法及时进行同步。

  2. 主库故障:如果主库发生故障,并且还没有将binlog事件成功发送到备库,那么这些未同步的binlog事件将会丢失。

  3. 配置问题:如果配置不正确或者存在一些特殊情况,可能导致增强半同步复制无法正常工作,从而无法保证binlog同步到备库。

因此,虽然增强半同步复制可以提高复制的可靠性,但它并不能完全保证binlog能够100%同步到备库。为了更可靠地保证备库的一致性,可以考虑使用同步复制技术,如半同步或者全同步复制,并且定期进行备份以防止数据丢失。

Oracle ADG(Automatic Data Guard)和MySQL的增强半同步复制

Oracle ADG(Automatic Data Guard)和MySQL的增强半同步复制是两种不同数据库系统中提供的数据复制技术,它们有一些区别。

  1. 数据库系统:Oracle ADG是Oracle数据库的一个功能,而MySQL的增强半同步复制则是MySQL数据库的一个特性。

  2. 同步性:Oracle ADG是基于物理备份的方法,它提供了更高的数据同步性。当主数据库提交事务时,ADG会确保至少一个辅助数据库(也称为备用数据库)已经接收并应用了这个事务,从而在主备数据库之间实现了同步。相比之下,MySQL的增强半同步复制只能提供更低级别的同步,即主数据库提交事务后,至少一个备用数据库接收到了这个事务,但不保证其应用。

  3. 故障恢复:Oracle ADG在主数据库发生故障时,可以自动将辅助数据库升级为新的主数据库,从而提供高可用性和灾难恢复能力。MySQL的增强半同步复制没有内置的自动故障恢复机制,需要手动进行故障切换。

  4. 配置和管理:Oracle ADG的配置和管理比较复杂,需要额外的许可证和专业知识。相比之下,MySQL的增强半同步复制相对简单,易于配置和管理。

  5. 可用性:Oracle ADG提供更高的可用性,因为它可以在主备数据库之间实现快速故障切换。MySQL的增强半同步复制在故障切换时需要手动操作,可能会导致一些停机时间。

总体而言,Oracle ADG在数据同步性、故障恢复和可用性方面提供了更强大的功能,但同时也更加复杂和昂贵。MySQL的增强半同步复制则是一种较为简单和经济实惠的选择,适合中小型应用环境。选择哪种技术取决于具体的需求和预算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值