一文搞懂MySQL中redolog,undolog,binlog和数据落盘时机

MySQL日志和数据落盘策略
	redo log
		写入时机
			事务中,数据发生修改
		写入内容
			物理日志,某个表某数据页某偏移量进行修改
		刷盘时机
			事务提交
			log buffer空间不足
			CheckPoint——InnoDB检查点,会定期检查脏数据,并将脏数据页刷新和对应日志刷新进磁盘
			后台线程定期落盘
			正常关闭服务器
		特点
			顺序写入,写入磁盘的空间是连续性的
			重做日志是循环使用的,可以理解为循环队列
	undo log
		写入时机
			事务中,数据发生修改
		写入内容
			sql语句,修改的反向操作
		刷盘时机
			undo log的存储依赖于redo log,undo log的修改会先记录在redo log中,随着redo log的刷盘进行刷盘
	bin log
		写入时机
			事务中,先把日志写到binlog cache,事务提交的时候,再把binlog cache写到bin log文件中
		写入内容
			二进制数据
		刷盘时机
			写入文件系统缓冲区
			刷新到磁盘
				sync_binlog=0;不会立即调用fsync,交由操作系统调用
				sync_binlog=1;立即调用fsync
				sync_binlog>N;当N个事务提交才会调用fsync
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值