展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

写入redo log buffer过程与redo log file

  • Mini-Transaction

  • redo 日志写入log buffer


  • redo log block的结构图



  • redo log file相关参数设置

1、innodb_log_group_home_dir :指定 redo log 文件组所在的路径,默认值为 ./ ,表示在数据库的数据目录下。MySQL的默认数据目录
( var/lib/mysql )下默认有两个名为 ib_logfile0 和ib_logfile1 的文件,log buffer中的日志默认情况下就是刷新到这两个磁盘文件中。
redo日志文件位置还可以修改。
2、innodb_log_files_in_group:指明redo log file的个数,命名方式如:ib_logfile0,iblogfile1...iblogfilen。默认2个,最大100个。
# 查看
show variables like 'innodb_log_files_in_group';
3、innodb_flush_log_at_trx_commit:控制 redo log 刷新到磁盘的策略,默认为1
4、innodb_log_file_size:单个 redo log 文件设置大小,默认值为 48M 。最大值为512G,注意最大值指的是整个 redo log 系列文件之和,
即(innodb_log_files_in_group * innodb_log_file_size )不能大于最大值512G。
# 查看
show variables like 'innodb_log_file_size';
根据业务修改其大小,以便容纳较大的事务。编辑my.cnf文件并重启数据库生效
vim /etc/my.cnf
innodb_log_file_size=200M
  • 日志组文件

  • checkpoint

  • 如果 write pos 追上 checkpoint ,表示日志文件组满了,这时候不能再写入新的 redo log记录,MySQL 得停下来,清空一些记录,把 checkpoint 推进一下

posted @   DogLeftover  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2021-06-22 git推送文件到gitee
2021-06-22 Node.js入门
点击右上角即可分享
微信分享提示