When trying to update mysqltuner.pl on a host that doesn't have mysql or mariadb the following error occurs.
❯ ./MySQLTuner-perl/mysqltuner.pl --updateversion
>> MySQLTuner 2.8.30
* Jean-Marie Renouard <jmrenouard@gmail.com>
* Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.pl/
>> Run with '--help' for additional options and output filtering
ℹ Skipped version check for MySQLTuner script
✘ Couldn't find an executable mysqladmin/mariadb-admin command.
If you add in --checkversion it will update
❯ ./MySQLTuner-perl/mysqltuner.pl --updateversion --checkversion
>> MySQLTuner 2.8.30
* Jean-Marie Renouard <jmrenouard@gmail.com>
* Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.pl/
>> Run with '--help' for additional options and output filtering
✘ There is a new version of MySQLTuner available ()
Use of uninitialized value in string eq at ./MySQLTuner-perl/mysqltuner.pl line
837 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
To help you figure out what was undefined, perl will try to tell you
the name of the variable (if any) that was undefined. In some cases
it cannot do this, so it also tells you what operation you used the
undefined value in. Note, however, that perl optimizes your program
and the operation displayed in the warning may not necessarily appear
literally in your program. For example, "that $foo" is usually
optimized into "that " . $foo, and the warning will refer to the
concatenation (.) operator, even though there is no . in
your program.
✔ Successfully updated MySQLTuner script
ℹ Stopping program: MySQLTuner script must be updated first.
However the file is replaced and has what looks to be curl progress output at the top of the file.
❯ ./MySQLTuner-perl/mysqltuner.pl --updateversion --checkversion
./MySQLTuner-perl/mysqltuner.pl: 1: %: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 2: Dload: Permission denied
: Permission deniedysqltuner.pl: 3:
./MySQLTuner-perl/mysqltuner.pl: 43: package: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 45: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 46: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 47: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 49: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 50: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 51: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 52: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 53: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 54: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 55: use: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 58: sub: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 59: sub: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 60: sub: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 68: our: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 71: our: Permission denied
./MySQLTuner-perl/mysqltuner.pl: 72: Syntax error: word unexpected (expecting ")")
The top 10 lines of the file.
❯ head -10 MySQLTuner-perl/mysqltuner.pl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0#!/usr/bin/env perl
# mysqltuner.pl - Version 2.8.41
# High Performance MySQL Tuning Script
# Copyright (C) 2015-2026 Jean-Marie Renouard - jmrenouard@gmail.com
# Copyright (C) 2006-2026 Major Hayden - major@mhtx.net
# For the latest updates, please visit http://mysqltuner.pl/
# Git repository available at https://github.com/jmrenouard/MySQLTuner-perl/
When trying to update mysqltuner.pl on a host that doesn't have mysql or mariadb the following error occurs.
If you add in --checkversion it will update
However the file is replaced and has what looks to be curl progress output at the top of the file.
The top 10 lines of the file.