What nobody seems to mention is the impact innodb_undo_log_truncate
setting can have.
After reading Percona's blog post about the topic, I've enabled in my MariaDB 10.6 the truncation of UNDO LOG
entries which filled 95% of ibdata1
, and, after a complete drop and restore, from that moment on my ibdata1
never grew anymore.
With the default innodb_undo_log_truncate = 0
my ibdata1
easily reached 10% of databases space occupation, aka tens of Gigabytes.
With innodb_undo_log_truncate = 1
, ibdata1
it's firm at 76 Mb.