From c2e0501147bfa415bf64ce2fb0e5dedd064a4318 Mon Sep 17 00:00:00 2001 From: paigeman <53284808+paigeman@users.noreply.github.com> Date: Tue, 1 Aug 2023 09:56:39 +0800 Subject: [PATCH 1/3] fix the default value of sync_binlog --- docs/database/mysql/mysql-logs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/database/mysql/mysql-logs.md b/docs/database/mysql/mysql-logs.md index f3888285..e312b960 100644 --- a/docs/database/mysql/mysql-logs.md +++ b/docs/database/mysql/mysql-logs.md @@ -202,7 +202,7 @@ tag: - **上图的 write,是指把日志写入到文件系统的 page cache,并没有把数据持久化到磁盘,所以速度比较快** - **上图的 fsync,才是将数据持久化到磁盘的操作** -`write`和`fsync`的时机,可以由参数`sync_binlog`控制,默认是`0`。 +`write`和`fsync`的时机,可以由参数`sync_binlog`控制,默认是`1`。 为`0`的时候,表示每次提交事务都只`write`,由系统自行判断什么时候执行`fsync`。 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 2/3] 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` 的作用和它的刷盘时机、存储形式。 From 5c307482e34140e06965c2bcd5369958ddf00076 Mon Sep 17 00:00:00 2001 From: paigeman <53284808+paigeman@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:43:59 +0800 Subject: [PATCH 3/3] Update mysql-logs.md --- docs/database/mysql/mysql-logs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/database/mysql/mysql-logs.md b/docs/database/mysql/mysql-logs.md index 4c4ed739..6f35478d 100644 --- a/docs/database/mysql/mysql-logs.md +++ b/docs/database/mysql/mysql-logs.md @@ -153,7 +153,7 @@ MySQL830 mysql:8.0.32 可以看到刚好是32个,并且每个日志文件的大小是 `671088640 / 32 = 20971520` -所以在使用 MySQL 8.0.32 及之后的版本时,推荐使用 `innodb_redo_log_capacity` 变量配置日志文件组 +所以在使用 MySQL 8.0.30 及之后的版本时,推荐使用 `innodb_redo_log_capacity` 变量配置日志文件组 ### redo log 小结