mysql架构

本文介绍了MySQL的复制功能,它是构建大规模高性能数据库的基础,可分担读负载,为高可用、灾难恢复等提供更多选择。基于主库二进制日志在备库重放,虽异步有延迟但仍实用。还阐述了其能解决的数据分布、负载均衡等问题,以及MySQL的日志类型和二进制日志特点。

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

一 mysql复制功能
1.mysql的复制功能,是构建基于mysql数据库的大规模高性能的基础
在这里插入图片描述
数据库不同,由于数据库中负载严重的时候,因为数据库事务性要求,不能通过简单的增加数据库服务器的方式来分担读写负载,而mysql的复制功能为我们提供了分担读负载的好办法,只做简单的复制还是不能分担写负载的,只能分担读负载,同时mysql的复制功能,不仅能够分担读负载也为高可用,灾难恢复,备份等提供了更多的选择

在这里插入图片描述
可以使用复制功能为数据库增加一个或者多个备库进行水平扩展,这些备库就可以分担读负载。mysql的复制是基于主库上的二进制日志,然后在备库上重放这些日志,mysql的复制是异步的,意味着在同一时间点上,备库上的数据可能与主库不一致,并且无法保证主库和备库之间的延迟,影响主库和备库之间的延迟有很多,虽然延迟无法避免但是复制功能还是很好的
mysql复制能够解决什么问题?能够实现在不同服务器上的数据分布,能够实现数据读取的负载均衡,需要其他组件配合完成,增加了数据的安全性,利用备库的备份来减少主库的负载,复制并不代表安全性,实现数据库的高可用,和故障切换,实现数据库的在线升级
mysql有很多日志,可以分为mysql服务层日志(二进制日志,慢查询日志,通用日志),mysql存储引擎层的日志(innodb的重做日志和回滚日志)。mysql服务器层的日志和使用什么类型的存储引擎无关,是由mysql服务器层进行记录的
mysql的二进制日志,记录了所有对mysql数据库的修改事件,包括增删改查事件和对表结构的修改事件。在binlog中记录的事件是成功执行的事件,由于回滚或者是语法错误而不会进行记录,通过binlog命令行工具进行查看,myql二进制日志的格式有三种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值