From 91b135ad9891f7539ecd6317d0f5c4a03e762a5a Mon Sep 17 00:00:00 2001 From: paigeman <53284808+paigeman@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:40:38 +0800 Subject: [PATCH] Add additional information about redo log --- docs/database/mysql/images/redo-log.png | Bin 0 -> 80709 bytes docs/database/mysql/mysql-logs.md | 41 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 docs/database/mysql/images/redo-log.png diff --git a/docs/database/mysql/images/redo-log.png b/docs/database/mysql/images/redo-log.png new file mode 100644 index 0000000000000000000000000000000000000000..870703973908ec8767a70f2d375af31451f6523f GIT binary patch literal 80709 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 literal 0 HcmV?d00001 diff --git a/docs/database/mysql/mysql-logs.md b/docs/database/mysql/mysql-logs.md index e312b960..4c4ed739 100644 --- a/docs/database/mysql/mysql-logs.md +++ b/docs/database/mysql/mysql-logs.md @@ -114,6 +114,47 @@ tag: ![](https://oss.javaguide.cn/github/javaguide/12.png) +注意从 MySQL 8.0.30 开始,日志文件组有了些许变化: + +> The innodb_redo_log_capacity variable supersedes the innodb_log_files_in_group and innodb_log_file_size variables, which are deprecated. When the innodb_redo_log_capacity setting is defined, the innodb_log_files_in_group and innodb_log_file_size settings are ignored; otherwise, these settings are used to compute the innodb_redo_log_capacity setting (innodb_log_files_in_group * innodb_log_file_size = innodb_redo_log_capacity). If none of those variables are set, redo log capacity is set to the innodb_redo_log_capacity default value, which is 104857600 bytes (100MB). The maximum redo log capacity is 128GB. + +> Redo log files reside in the #innodb_redo directory in the data directory unless a different directory was specified by the innodb_log_group_home_dir variable. If innodb_log_group_home_dir was defined, the redo log files reside in the #innodb_redo directory in that directory. There are two types of redo log files, ordinary and spare. Ordinary redo log files are those being used. Spare redo log files are those waiting to be used. InnoDB tries to maintain 32 redo log files in total, with each file equal in size to 1/32 * innodb_redo_log_capacity; however, file sizes may differ for a time after modifying the innodb_redo_log_capacity setting. + +意思是在 MySQL 8.0.30 之前可以通过 `innodb_log_files_in_group` 和 `innodb_log_file_size` 配置日志文件组的文件数和文件大小,但在 MySQL 8.0.30 及之后的版本中,这两个变量已被废弃,即使被指定也是用来计算 `innodb_redo_log_capacity` 的值。而日志文件组的文件数则固定为32,文件大小则为 `innodb_redo_log_capacity / 32` 。 + +关于这一点变化,我们可以验证一下。 + +首先创建一个配置文件,里面配置一下 `innodb_log_files_in_group` 和 `innodb_log_file_size` 的值: + +```properties +[mysqld] +innodb_log_file_size = 10485760 +innodb_log_files_in_group = 64 +``` + +docker启动一个 MySQL 8.0.32 的容器: + +```bash +docker run -d -p 3312:3309 -e MYSQL_ROOT_PASSWORD=your-password -v /path/to/your/conf:/etc/mysql/conf.d --name +MySQL830 mysql:8.0.32 +``` + +现在我们来看一下启动日志: + +``` +2023-08-03T02:05:11.720357Z 0 [Warning] [MY-013907] [InnoDB] Deprecated configuration parameters innodb_log_file_size and/or innodb_log_files_in_group have been used to compute innodb_redo_log_capacity=671088640. Please use innodb_redo_log_capacity instead. +``` + +这里也表明了 `innodb_log_files_in_group` 和 `innodb_log_file_size` 这两个变量是用来计算 `innodb_redo_log_capacity` ,且已经被废弃。 + +我们再看下日志文件组的文件数是多少: + +![](images/redo-log.png) + +可以看到刚好是32个,并且每个日志文件的大小是 `671088640 / 32 = 20971520` + +所以在使用 MySQL 8.0.32 及之后的版本时,推荐使用 `innodb_redo_log_capacity` 变量配置日志文件组 + ### redo log 小结 相信大家都知道 `redo log` 的作用和它的刷盘时机、存储形式。