Indenting mysqltuner at 2024-02-06T17:58:52+01:00

This commit is contained in:
Jean-Marie Renouard 2024-02-06 17:58:57 +01:00
parent 30d1d9ecc6
commit dd2ed72642

View file

@ -196,7 +196,7 @@ if ( exists $opt{passenv} && exists $ENV{ $opt{passenv} } ) {
$opt{pass} = $opt{password} if ( $opt{pass} eq 0 and $opt{password} ne 0 ); $opt{pass} = $opt{password} if ( $opt{pass} eq 0 and $opt{password} ne 0 );
if ( $opt{dumpdir} ne '' ) { if ( $opt{dumpdir} ne '' ) {
$opt{dumpdir}= abs_path($opt{dumpdir}); $opt{dumpdir} = abs_path( $opt{dumpdir} );
if ( !-d $opt{dumpdir} ) { if ( !-d $opt{dumpdir} ) {
mkdir $opt{dumpdir} or die "Cannot create directory $opt{dumpdir}: $!"; mkdir $opt{dumpdir} or die "Cannot create directory $opt{dumpdir}: $!";
} }
@ -237,8 +237,9 @@ $opt{structstat} = 0
if ( not defined( $opt{structstat} ) or $opt{nostructstat} == 1 ) if ( not defined( $opt{structstat} ) or $opt{nostructstat} == 1 )
; # Don't print table struct information ; # Don't print table struct information
$opt{myisamstat} = 1 $opt{myisamstat} = 1
if ( not defined( $opt{myisamstat} )); if ( not defined( $opt{myisamstat} ) );
$opt{myisamstat} = 0 if ($opt{nomyisamstat} == 1 ); # Don't print MyISAM table information $opt{myisamstat} = 0
if ( $opt{nomyisamstat} == 1 ); # Don't print MyISAM table information
# for RPM distributions # for RPM distributions
$opt{cvefile} = "/usr/share/mysqltuner/vulnerabilities.csv" $opt{cvefile} = "/usr/share/mysqltuner/vulnerabilities.csv"
@ -814,7 +815,8 @@ sub mysql_setup {
if ( $opt{socket} ne 0 ) { if ( $opt{socket} ne 0 ) {
if ( $opt{port} ne 0 ) { if ( $opt{port} ne 0 ) {
$remotestring = " -S $opt{socket} -P $opt{port}"; $remotestring = " -S $opt{socket} -P $opt{port}";
} else { }
else {
$remotestring = " -S $opt{socket}"; $remotestring = " -S $opt{socket}";
} }
} }
@ -1579,7 +1581,9 @@ sub log_file_recommendations {
$numLi++; $numLi++;
debugprint "$numLi: $logLi" debugprint "$numLi: $logLi"
if $logLi =~ /warning|error/i and $logLi !~ /Logging to/; if $logLi =~ /warning|error/i and $logLi !~ /Logging to/;
$nbErrLog++ if $logLi =~ /error/i and $logLi !~ /(Logging to|\[Warning\].*ERROR_FOR_DIVISION_BY_ZERO)/; $nbErrLog++
if $logLi =~ /error/i
and $logLi !~ /(Logging to|\[Warning\].*ERROR_FOR_DIVISION_BY_ZERO)/;
$nbWarnLog++ if $logLi =~ /warning/i; $nbWarnLog++ if $logLi =~ /warning/i;
push @lastShutdowns, $logLi push @lastShutdowns, $logLi
if $logLi =~ /Shutdown complete/ and $logLi !~ /Innodb/i; if $logLi =~ /Shutdown complete/ and $logLi !~ /Innodb/i;
@ -3210,11 +3214,12 @@ sub calculations {
$mystat{'Innodb_buffer_pool_pages_total'} $mystat{'Innodb_buffer_pool_pages_total'}
) if defined $mystat{'Innodb_buffer_pool_pages_total'}; ) if defined $mystat{'Innodb_buffer_pool_pages_total'};
$mycalc{'innodb_buffer_alloc_pct'}=select_one( $mycalc{'innodb_buffer_alloc_pct'} = select_one(
"select round( 100* sum(allocated)/( select VARIABLE_VALUE ". "select round( 100* sum(allocated)/( select VARIABLE_VALUE "
"FROM performance_schema.global_variables " . . "FROM performance_schema.global_variables "
"WHERE VARIABLE_NAME='innodb_buffer_pool_size' ) ,2)". . "WHERE VARIABLE_NAME='innodb_buffer_pool_size' ) ,2)"
'FROM sys.x\$innodb_buffer_stats_by_table;'); . 'FROM sys.x\$innodb_buffer_stats_by_table;' );
# Binlog Cache # Binlog Cache
if ( $myvar{'log_bin'} ne 'OFF' ) { if ( $myvar{'log_bin'} ne 'OFF' ) {
$mycalc{'pct_binlog_cache'} = percentage( $mycalc{'pct_binlog_cache'} = percentage(
@ -6366,12 +6371,13 @@ sub mysql_innodb {
# ,2) as "PCT ALLOC/BUFFER POOL" # ,2) as "PCT ALLOC/BUFFER POOL"
#from sys.x$innodb_buffer_stats_by_table; #from sys.x$innodb_buffer_stats_by_table;
if ($mycalc{innodb_buffer_alloc_pct} < 80) { if ( $mycalc{innodb_buffer_alloc_pct} < 80 ) {
badprint "Ratio Buffer Pool allocated / Buffer Pool Size: ". badprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
$mycalc{'innodb_buffer_alloc_pct'} . '%'; . $mycalc{'innodb_buffer_alloc_pct'} . '%';
} else { }
goodprint "Ratio Buffer Pool allocated / Buffer Pool Size: ". else {
$mycalc{'innodb_buffer_alloc_pct'} . '%'; goodprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
} }
if ( $mycalc{'innodb_log_size_pct'} < 20 if ( $mycalc{'innodb_log_size_pct'} < 20
or $mycalc{'innodb_log_size_pct'} > 30 ) or $mycalc{'innodb_log_size_pct'} > 30 )
@ -6389,7 +6395,7 @@ sub mysql_innodb {
. ") if possible, so InnoDB Redo log Capacity equals 25% of buffer pool size." . ") if possible, so InnoDB Redo log Capacity equals 25% of buffer pool size."
); );
push( @generalrec, push( @generalrec,
"Be careful, increasing innodb_redo_log_capacity means higher crash recovery mean time" "Be careful, increasing innodb_redo_log_capacity means higher crash recovery mean time"
); );
} }
else { else {
@ -6409,7 +6415,7 @@ sub mysql_innodb {
. ") if possible, so InnoDB total log file size equals 25% of buffer pool size." . ") if possible, so InnoDB total log file size equals 25% of buffer pool size."
); );
push( @generalrec, push( @generalrec,
"Be careful, increasing innodb_log_file_size / innodb_log_files_in_group means higher crash recovery mean time" "Be careful, increasing innodb_log_file_size / innodb_log_files_in_group means higher crash recovery mean time"
); );
} }
if ( mysql_version_le( 5, 6, 2 ) ) { if ( mysql_version_le( 5, 6, 2 ) ) {
@ -6533,7 +6539,8 @@ sub mysql_innodb {
. $mycalc{'pct_read_efficiency'} . "% (" . $mycalc{'pct_read_efficiency'} . "% ("
. $mystat{'Innodb_buffer_pool_read_requests'} . $mystat{'Innodb_buffer_pool_read_requests'}
. " hits / " . " hits / "
. ( $mystat{'Innodb_buffer_pool_reads'} + $mystat{'Innodb_buffer_pool_read_requests'} ) . ( $mystat{'Innodb_buffer_pool_reads'} +
$mystat{'Innodb_buffer_pool_read_requests'} )
. " total)"; . " total)";
} }
else { else {
@ -6541,7 +6548,8 @@ sub mysql_innodb {
. $mycalc{'pct_read_efficiency'} . "% (" . $mycalc{'pct_read_efficiency'} . "% ("
. $mystat{'Innodb_buffer_pool_read_requests'} . $mystat{'Innodb_buffer_pool_read_requests'}
. " hits / " . " hits / "
. ( $mystat{'Innodb_buffer_pool_reads'} + $mystat{'Innodb_buffer_pool_read_requests'} ) . ( $mystat{'Innodb_buffer_pool_reads'} +
$mystat{'Innodb_buffer_pool_read_requests'} )
. " total)"; . " total)";
} }
@ -6709,8 +6717,9 @@ sub mysql_databases {
percentage( $totaldbinfo[2], $totaldbinfo[3] ) . "%"; percentage( $totaldbinfo[2], $totaldbinfo[3] ) . "%";
$result{'Databases'}{'All databases'}{'Total Size'} = $totaldbinfo[3]; $result{'Databases'}{'All databases'}{'Total Size'} = $totaldbinfo[3];
print "\n" unless ( $opt{'silent'} or $opt{'json'} ); print "\n" unless ( $opt{'silent'} or $opt{'json'} );
my $nbViews=0; my $nbViews = 0;
my $nbTables=0; my $nbTables = 0;
foreach (@dblist) { foreach (@dblist) {
my @dbinfo = split /\s/, my @dbinfo = split /\s/,
select_one( select_one(
@ -6719,7 +6728,7 @@ sub mysql_databases {
next unless defined $dbinfo[0]; next unless defined $dbinfo[0];
infoprint "Database: " . $dbinfo[0] . ""; infoprint "Database: " . $dbinfo[0] . "";
$nbTables=select_one( $nbTables = select_one(
"SELECT count(*) from information_schema.TABLES WHERE TABLE_TYPE ='BASE TABLE' AND TABLE_SCHEMA='$_'" "SELECT count(*) from information_schema.TABLES WHERE TABLE_TYPE ='BASE TABLE' AND TABLE_SCHEMA='$_'"
); );
infoprint " +-- TABLE : $nbTables"; infoprint " +-- TABLE : $nbTables";
@ -7096,12 +7105,13 @@ ENDSQL
infoprint " +-- COMMENT : " . $info[5] if defined $info[5]; infoprint " +-- COMMENT : " . $info[5] if defined $info[5];
$found++; $found++;
} }
my $nbTables=select_one( my $nbTables = select_one(
"SELECT count(*) from information_schema.TABLES WHERE TABLE_TYPE ='BASE TABLE' AND TABLE_SCHEMA='$dbname'" "SELECT count(*) from information_schema.TABLES WHERE TABLE_TYPE ='BASE TABLE' AND TABLE_SCHEMA='$dbname'"
); );
badprint "No index found for $dbname database" if $found == 0 and $nbTables>1; badprint "No index found for $dbname database"
if $found == 0 and $nbTables > 1;
push @generalrec, "Add indexes on tables from $dbname database" push @generalrec, "Add indexes on tables from $dbname database"
if $found == 0 and $nbTables>1; if $found == 0 and $nbTables > 1;
} }
return return
unless ( defined( $myvar{'performance_schema'} ) unless ( defined( $myvar{'performance_schema'} )