性能优化-07-Inndb底层原理与MySQL日志机制深入分析

本文介绍了MySQLInnoDB中redoLog日志参数(如buffer大小、存储位置)和binLog(用于数据恢复)的配置,包括log_bin路径、ServerId设置等。

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

1 MySQL内部组件结构

2 一条SQL在innodb中的执行过程

3 redoLog日志关键参数

用于恢复buffer pool未来得及写入磁盘的数据

innodb_log_buffer_size:设置redo log buffer大小参数,默认16M,最大4096M,最小1M

show variables like '%innodb_log_buffer_size%' ;

innodb_log_group_home_dir:设置redo log文件存储位置参数,默认为"./"

1 show variables like '%innodb_log_group_home_dir%";

innodb_log_files_in_group: 设置redo log文件的个数,命名如:ib_logfileN;默认2个,最大100个

show variables like '%innodb_log_files_in_group%';

innodb_log_file_size:设置单个redo log文件大小,默认值为48M、最大值为512G

show variables like '%innodb_log_file_size%';

redolog写入磁盘过程分析:从ib_logfile0->3写满后回到0,覆盖内容

4 binLog二进制归档日志

用于恢复被删除的日志;只记录修改的数据

查看binlog相关参数

show variables like '%log_bin%' ;

# log-bin设置binlog的存放位置,可以是绝对路径,也可以是相对路径,这里写的相对路径,则binlog文件默认会放在data数据目录下

log-bin=mysql-binlog

# Server Id是数据库服务器id,随便写一个数都可以,这个id用来在mysql集群环境中标记唯一mysql服务器,集群环境中每台mysql服务器的id不能一样,不加启动会报描

server-id=1

#其他配置

binlog_format = row  #日志文件格式

expire_logs_days = 15  #执行自动删除距离当前15天以前的binlog日志文件的天数,默认为0,表示不自动删除

max_binlog_size = 200M #单个binlog日志文件的大小限制,默认为1GB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值