From 31e648a21f7ed0ecf6e18aebb122333e5599c429 Mon Sep 17 00:00:00 2001 From: Jean-Marie Renouard Date: Thu, 22 May 2025 18:14:53 +0200 Subject: [PATCH] Fix calculation of innodb_log_size_pct and improve safety checks for buffer pool size Error after upgrading to MariaDB 10.11.12 #828 --- mysqltuner.pl | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index 8097443c..fcf35df4 100644 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -3308,10 +3308,15 @@ sub calculations { ( $myvar{'innodb_redo_log_capacity'} / $myvar{'innodb_buffer_pool_size'} ) * 100; } else { - $mycalc{'innodb_log_size_pct'} = - ( $myvar{'innodb_log_file_size'} * - $myvar{'innodb_log_files_in_group'} * 100 / - $myvar{'innodb_buffer_pool_size'} ); + $mycalc{'innodb_log_size_pct'} = 0; + if ( defined $myvar{'innodb_log_file_size'} && $myvar{'innodb_log_file_size'} ne '' && + defined $myvar{'innodb_buffer_pool_size'} && $myvar{'innodb_buffer_pool_size'} ne '' && + $myvar{'innodb_buffer_pool_size'} != 0 ) { + $mycalc{'innodb_log_size_pct'} = + ( $myvar{'innodb_log_file_size'} * + $myvar{'innodb_log_files_in_group'} * 100 / + $myvar{'innodb_buffer_pool_size'} ); + } } } if ( !defined $myvar{'innodb_buffer_pool_size'} ) { @@ -6574,8 +6579,8 @@ sub mysql_innodb { @adjvars, "innodb_log_file_size should be (=" . hr_bytes_rnd( - $myvar{'innodb_buffer_pool_size'} / - $myvar{'innodb_log_files_in_group'} / 4 + ( defined $myvar{'innodb_buffer_pool_size'} && $myvar{'innodb_buffer_pool_size'} ne '' ? $myvar{'innodb_buffer_pool_size'} : 0 ) / + ( defined $myvar{'innodb_log_files_in_group'} && $myvar{'innodb_log_files_in_group'} ne '' && $myvar{'innodb_log_files_in_group'} != 0 ? $myvar{'innodb_log_files_in_group'} : 1 ) / 4 ) . ") if possible, so InnoDB total log file size equals 25% of buffer pool size." );