Skip to content

Update command fails on hosts without mysql/mariadb installed #36

@jordantrizz

Description

@jordantrizz

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/

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions