即使参数设置为ON,撤消日志也不会被截断

问题描述 投票:0回答:1

我们在配置文件中配置了以下设置。

--innodb_file_per_table=1
--innodb_undo_tablespaces=3
--innodb_undo_directory=/var/lib/mysql/
--innodb_undo_log_truncate=ON
--innodb_max_undo_log_size=10737418240

但是,撤消日志文件的大小已达到 15GB 以上,并且不会按照设置的 10GB 大小进行截断。

无法重新启动或关闭服务器。 任何建议、需要更改或添加的内容将不胜感激。

我已启用可以解决问题的可能参数。我想在撤消日志达到 10GB 后将其截断

mysql logging mariadb innodb undo
1个回答
0
投票

https://mariadb.com/kb/en/innodb-system-variables/#innodb_max_undo_log_size

innodb_max_undo_log_size

说明:如果undo表空间大于此值,如果设置了innodb_undo_log_truncate,则会将其标记为截断。

https://mariadb.com/kb/en/innodb-system-variables/#innodb_undo_log_truncate

innodb_undo_log_truncate

描述:启用后,大于 innodb_max_undo_log_size 的 innodb_undo_tablespace 将被标记为截断。另请参见 innodb_purge_rseg_truncate_Frequency。启用此设置可能会导致在繁重的写入工作负载期间停顿。

https://mariadb.com/kb/en/innodb-system-variables/#innodb_purge_rseg_truncate_Frequency

innodb_purge_rseg_truncate_Frequency

描述:清除撤消记录的频率。默认设置为每 128 次,减少此值会增加释放回滚段的频率。另请参见 innodb_undo_log_truncate。在 MySQL 中引入此功能的动机似乎是为了避免由于释放撤消日志页或截断撤消日志表空间而导致的停顿。在 MariaDB 中, innodb_undo_log_truncate=ON 应该是一个更轻量级的操作,因为它不会涉及任何日志检查点,因此从 MariaDB 10.6.16、MariaDB 10.10.7、MariaDB 10.11.6、MariaDB 11.0.4、MariaDB 11.1 开始已弃用并忽略此操作。 .3 和 MariaDB 11.2.2。 (MDEV-32050)

那么,其他设置的值是多少?

© www.soinside.com 2019 - 2024. All rights reserved.