数据库的主从复制,读写分离

主从复制是数据库的一种备份策略,通过记录主数据库的bin-log并重播到从数据库实现数据同步。这确保了在主服务器故障时可以从备份中快速恢复,同时支持架构扩展和读写分离,提高系统性能。读写分离则将更新操作放在主库,查询操作放在从库,降低I/O压力。主从复制包括同步、异步和半同步三种方式,根据需求选择合适的复制策略。

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

主从复制理解:

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;

原理:

  1. 数据库有个bin-log二进制文件,记录了所有的sql语句。
  2. 只需要把主数据库的bin-log文件中的sql语句复制。
  3. 让其从数据的relay-log重做日志文件中在执行一次这些sql语句即可。

作用:

  1. 做数据的热备份,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
  2. 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问频率,提高单机的I/O性能
  3. 主从复制是读写分离的基础,使数据库能制成更大 的并发。例如子报表中,由于部署报表的sql语句十分慢,导致锁表,影响前台的服务。如果前台服务使用master,报表使用slave,那么报表sql将不会造成前台所,保证了前台的访问速度。

主从复制的几种方式:

  1. 同步复制:所谓的同步复制,意思是master的变化,必须等待slave-1,slave-2,...,slave-n完成后才能返回。
  2. 异步复制:如同AJAX请求一样。master只需要完成自己的数据库操作即可。至于slaves是否收到二进制日志,是否完成操作,不用关心。MYSQL的默认设置。
  3. 半同步复制:master只保证slaves中的一个操作成功,就返回,其他slave不管。

关于读写分离:

在完成主从复制时,由于slave是需要同步master的。所以对于insert/delete/update这些更新数据库的操作,应该在master中完成。而select的查询操作,则落下到slave中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值