社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
OpenAI CEO奥特曼向“财富500强”企业推介企业版ChatGPT;雷军回应余承东调侃小米su...
科技快讯 | 华为哈勃首次投资国内 AI 大模型公司;OpenAI向ChatGPT付费用户开放GPT...
【深度学习】目标检测的常用数据处理方法!
【Nucleic Acids Research】利用生成式深度学习模型设计蓝藻细菌的合成启动子
GPT-4 Turbo重回王座,ChatGPT免费升级!数学暴涨10%/上下文全面碾压
本周推荐的6个火火火的Github开源项目!
GitHub(微博搜索)-20240416-1
融合ChatGPT+DALL·E 3,贾佳亚团队新作开源畅玩:识图推理生图一站解决
【生物催化】一种实用的机器学习辅助蛋白质工程研究范式
【东方金工·上海线下沙龙】深度学习与量化投资
关注
Py学习
»
DATABASE
MySQL的日志模块
慧鑫coming
• 5 年前 • 163 次点击
日志模块redo log
redo log为InnoDB引擎特有,当有一条更新记录时,InnodDB会把它先写到redo log,并更新内存,此时更新操作就算完成了。InnoDB会在
适当的时候
把这个操作记录更新到磁盘,往往是系统比较空闲的时候。WAL技术(Write-Ahead Logging),就是基于redo log实现的。
redo log是固定大小的,并且是循环写,比如有4个redo log文件,1234顺序写,那么在都写满的情况下,会先将1号文件记录更新到磁盘,然后将1号文件清空,继续记录新的redo log。
redo log保证数据库发生异常重启后,之前提交的记录都不会丢失,这个能力成为
crash-safe
。
日志模块binlog
binlog是Server层的日志。
只依靠binlog是没有crash-cash能力的。
bin log和redo log区别
redo log是InnoDB引擎所特有, 而bin log是Server层的日志,所有引擎都可以使用。
redo log是物理日志
,记录的是“在某个数据页上做了什么修改”;
binlog
是逻辑日志,记录语句的原始逻辑,如“给ID=1这一行的a字段赋新值10”。
redo log是循环写
,空间固定会用完,需清除之前的日志;
binlog是追加写
,一个日志文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/29132
163 次点击
登录后回复