Skip to content

Commit d49a40a

Browse files
authored
Merge pull request #833 from jmrenouard/master
Fix calculation of innodb_log_size_pct and improve safety checks for …
2 parents 09f7196 + 31e648a commit d49a40a

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

mysqltuner.pl

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3308,10 +3308,15 @@ sub calculations {
33083308
( $myvar{'innodb_redo_log_capacity'} /
33093309
$myvar{'innodb_buffer_pool_size'} ) * 100;
33103310
} else {
3311-
$mycalc{'innodb_log_size_pct'} =
3312-
( $myvar{'innodb_log_file_size'} *
3313-
$myvar{'innodb_log_files_in_group'} * 100 /
3314-
$myvar{'innodb_buffer_pool_size'} );
3311+
$mycalc{'innodb_log_size_pct'} = 0;
3312+
if ( defined $myvar{'innodb_log_file_size'} && $myvar{'innodb_log_file_size'} ne '' &&
3313+
defined $myvar{'innodb_buffer_pool_size'} && $myvar{'innodb_buffer_pool_size'} ne '' &&
3314+
$myvar{'innodb_buffer_pool_size'} != 0 ) {
3315+
$mycalc{'innodb_log_size_pct'} =
3316+
( $myvar{'innodb_log_file_size'} *
3317+
$myvar{'innodb_log_files_in_group'} * 100 /
3318+
$myvar{'innodb_buffer_pool_size'} );
3319+
}
33153320
}
33163321
}
33173322
if ( !defined $myvar{'innodb_buffer_pool_size'} ) {
@@ -6574,8 +6579,8 @@ sub mysql_innodb {
65746579
@adjvars,
65756580
"innodb_log_file_size should be (="
65766581
. hr_bytes_rnd(
6577-
$myvar{'innodb_buffer_pool_size'} /
6578-
$myvar{'innodb_log_files_in_group'} / 4
6582+
( defined $myvar{'innodb_buffer_pool_size'} && $myvar{'innodb_buffer_pool_size'} ne '' ? $myvar{'innodb_buffer_pool_size'} : 0 ) /
6583+
( 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
65796584
)
65806585
. ") if possible, so InnoDB total log file size equals 25% of buffer pool size."
65816586
);

0 commit comments

Comments
 (0)