From 5f59ce5bc7f4045a1951169263a028867e8e10ce Mon Sep 17 00:00:00 2001 From: MATSUU Takuto Date: Mon, 24 Feb 2014 21:08:05 +0900 Subject: [PATCH 1/2] add micro version to mysql_version_ge --- mysqltuner.pl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index 4599a7f..9037bd2 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -463,9 +463,11 @@ sub get_replication_status { } # Checks for supported or EOL'ed MySQL versions -my ($mysqlvermajor,$mysqlverminor); +my ($mysqlvermajor,$mysqlverminor, $mysqlvermicro); sub validate_mysql_version { - ($mysqlvermajor,$mysqlverminor) = $myvar{'version'} =~ /(\d+)\.(\d+)/; + ($mysqlvermajor,$mysqlverminor,$mysqlvermicro) = $myvar{'version'} =~ /^(\d+)(?:\.(\d+)|)(?:\.(\d+)|)/; + $mysqlverminor ||= 0; + $mysqlvermicro ||= 0; if (!mysql_version_ge(5)) { badprint "Your MySQL version ".$myvar{'version'}." is EOL software! Upgrade soon!\n"; } elsif (mysql_version_ge(6)) { @@ -475,10 +477,12 @@ sub validate_mysql_version { } } -# Checks if MySQL version is greater than equal to (major, minor) +# Checks if MySQL version is greater than equal to (major, minor, micro) sub mysql_version_ge { - my ($maj, $min) = @_; - return $mysqlvermajor > $maj || ($mysqlvermajor == $maj && $mysqlverminor >= ($min || 0)); + my ($maj, $min, $mic) = @_; + $min ||= 0; + $mic ||= 0; + return $mysqlvermajor > $maj || $mysqlvermajor == $maj && ($mysqlverminor > $min || $mysqlverminor == $min && $mysqlvermicro >= $mic); } # Checks for 32-bit boxes with more than 2GB of RAM From 85393335cea25a9013ec0be17284871fba95b142 Mon Sep 17 00:00:00 2001 From: MATSUU Takuto Date: Mon, 24 Feb 2014 21:31:20 +0900 Subject: [PATCH 2/2] Fixed to work with MySQL 5.0. information_schema.engines table was added in MySQL 5.1.5. https://dev.mysql.com/doc/refman/5.1/en/engines-table.html --- mysqltuner.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index 9037bd2..ad9c00c 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -533,7 +533,7 @@ sub check_storage_engines { print "\n-------- Storage Engine Statistics -------------------------------------------\n"; infoprint "Status: "; my $engines; - if (mysql_version_ge(5)) { + if (mysql_version_ge(5, 1, 5)) { my @engineresults = `mysql $mysqllogin -Bse "SELECT ENGINE,SUPPORT FROM information_schema.ENGINES WHERE ENGINE NOT IN ('performance_schema','MyISAM','MERGE','MEMORY') ORDER BY ENGINE ASC"`; foreach my $line (@engineresults) { my ($engine,$engineenabled);