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