RDS MySQL 8.0.30+ is missing configurable innodb_redo_log_capacity parameter

1

The MySQL 8.0.30 community version introduced innodb_redo_log_capacity and deprecates innodb_log_file_size & innodb_log_files_in_group.

Problem is RDS parameter groups do not allow you to modify the new parameter and it defaults to 100M, which for a large production system is 10x too small.

+------------------------------+-----------+
| Variable_name                | Value     |
+------------------------------+-----------+
| innodb_redo_log_archive_dirs |           |
| innodb_redo_log_capacity     | 104857600 |
| innodb_redo_log_encrypt      | OFF       |
+------------------------------+-----------+
3 rows in set (0.00 sec)
16:44:56 (8.0.31) [(none)]  > select 104857600/1024/1024;
+---------------------+
| 104857600/1024/1024 |
+---------------------+
|        100.00000000 |
+---------------------+
1 row in set (0.00 sec)

I have not see anybody ask it here, so has anybody else observed the situation?

From the release Notes:

InnoDB: InnoDB now supports dynamic configuration of redo log capacity. The innodb_redo_log_capacity system variable can be set at runtime to increase or decrease the total amount of disk space occupied by redo log files.

With this change, the number of redo log files and their default location has also changed. From MySQL 8.0.30, InnoDB maintains 32 redo log files in the #innodb_redo directory in the data directory. Previously, InnoDB created two redo log files in the data directory by default, and the number and size of redo log files were controlled by the innodb_log_files_in_group and innodb_log_file_size variables. These two variables are now deprecated.

When the innodb_redo_log_capacity setting is defined, innodb_log_files_in_group and innodb_log_file_size settings are ignored; otherwise, those 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).

Several status variables are provided for monitoring the redo log and redo log capacity resize operations.

[1] https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html

已提問 1 年前檢視次數 110 次
沒有答案

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南