MySQL 主从,5 分钟带你掌握

MySQL 主从一直是面试常客,里面的知识点虽然基础,但是能回答全的同学不多。

比如楼哥之前面试小米,就被问到过主从复制的原理,以及主从延迟的解决方案,因为回答的非常不错,给面试官留下非常好的印象。你之前面试,有遇到过哪些 MySQL 主从的问题呢?


小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。我有一些面试题、架构、设计类资料可以说是程序员面试必备!
所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【111】即可免费获取
 

MySQL 主从

什么是 MySQL 主从 ?

所谓 MySQL 主从,就是建立两个完全一样的数据库,一个是主库,一个是从库,主库对外提供读写的操作,从库对外提供读的操作,下面是一主一从模式:

为什么使用 MySQL 主从 ?

对于数据库单机部署,在 4 核 8G 的机器上运行 MySQL 5.7 时,大概可以支撑 500 的 TPS 和 10000 的 QPS,当遇到一些活动时,查询流量骤然,就需要进行主从分离。

大部分系统的访问模型是读多写少,读写请求量的差距可能达到几个数量级,所以我们可以通过一主多从的方式,主库只负责写入和部分核心逻辑的查询,多个从库只负责查询,提升查询性能,降低主库压力。

MySQL 主从还能做到服务高可用,当主库宕机时,从库可以切成主库,保证服务的高可用,然后主库也可以做数据的容灾备份。

整体场景总结如下:

  • 读写分离:从库提供查询,减少主库压力,提升性能;

  • 高可用:故障时可切换从库,保证服务高可用;

  • 数据备份:数据备份到从库,防止服务器宕机导致数据丢失。

主从复制

主从复制原理

MySQL 的主从复制是依赖于 binlo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于创建独立的、基于生产级别的Spring应用程序的框架。而MySQL主从复制是MySQL数据库的一种高可用性解决方案,通过将数据从一个主数据库复制到多个从数据库,实现数据的冗余备份和读写分离。 在Spring Boot中使用MySQL主从复制,可以通过以下步骤进行配置: 1. 配置主数据库: - 在`application.properties`或`application.yml`文件中配置主数据库的连接信息,包括URL、用户名和密码。 - 使用Spring Boot提供的`DataSource`来创建主数据库的数据源。 2. 配置从数据库: - 在`application.properties`或`application.yml`文件中配置从数据库的连接信息,包括URL、用户名和密码。 - 使用Spring Boot提供的`DataSource`来创建从数据库的数据源。 3. 配置数据源路由: - 创建一个自定义的数据源路由类,继承自`AbstractRoutingDataSource`。 - 在路由类中重写`determineCurrentLookupKey()`方法,根据业务需求动态选择使用主数据库还是从数据库。 4. 配置事务管理器: - 创建一个自定义的事务管理器类,继承自`DataSourceTransactionManager`。 - 在事务管理器类中设置数据源路由。 5. 配置持久层: - 在持久层的DAO类中使用`@Transactional`注解来开启事务。 - 在需要读操作的方法上使用`@ReadOnlyConnection`注解,指定使用从数据库。 通过以上配置,Spring Boot应用程序就可以实现对MySQL主从复制的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值