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

1 MySQL内部组件结构

性能优化-07-Inndb底层原理与MySQL日志机制深入分析_第1张图片

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

性能优化-07-Inndb底层原理与MySQL日志机制深入分析_第2张图片

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,覆盖内容

性能优化-07-Inndb底层原理与MySQL日志机制深入分析_第3张图片

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

你可能感兴趣的:(Java架构师,性能优化,mysql,数据库)