You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to run the tuner against MariaDB 10.3 hosted and managed by Microsoft Azure. SSL enforcement is enabled.
The command I'm using looks like this: perl mysqltuner.pl --host <instance>.mariadb.database.azure.com --user <username>@<instance> --pass '<password>' --ssl-ca <certpath> --forcemem 10000
I've also tried --userenv and --passenv env variables, and providing host, user and pass with and without single and double quotes, and explicitly providing the port. No matter what I try I always get the following error
>> MySQLTuner 1.7.19 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering
[--] Skipped version check for MySQLTuner script
[--] Performing tests on <host>:<port>
[--] Will connect using ssl public key passed on the command line
Use of uninitialized value $mysqllogin in concatenation (.) or string at
mysqltuner.pl line 6356 (#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
anid 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.
Use of uninitialized value $mysqllogin in concatenation (.) or string at
mysqltuner.pl line 6357 (#1)
[--] Assuming 10000 MB of physical memory
[!!] Assuming 0 MB of swap space (use --forceswap to specify)
Use of uninitialized value $mysqllogin in concatenation (.) or string at
mysqltuner.pl line 989 (#1)
[!!] failed to execute: SELECT VERSION()
[!!] FAIL Execute SQL / return code: 256
Use of uninitialized value $mysqllogin in concatenation (.) or string at
mysqltuner.pl line 994 (#1)
Use of uninitialized value $mysqllogin in concatenation (.) or string at
mysqltuner.pl line 995 (#1)
[!!] You probably did not get enough privileges for running MySQLTuner ...
What is wrong? I am using the admin user account created when I deployed the database. I can connect to the database via mysql client.
When I use --debug I also get [DG] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) though I've specified a host. I also tried using a different socket (--socket /tmp/mariadb.sock) but that didn't help.
The text was updated successfully, but these errors were encountered:
As I can see, there is an issue with ssl connections – there is only one param --ssl-ca – this might cause an issue with mariadb client which is shipped now by default in debian and ubuntu instead of mysql.
Also, I am struggling a little bit to understand this line: https://github.com/major/MySQLTuner-perl/blob/master/mysqltuner.pl#L771 – I hadn't touched perl for the best part of last 20 years, but doesn't that mean that setting --ssl-ca prevents authentication using credentials altogether? This would cause issues on almost all remote servers configured nowadays.
As I understand, what is need to be done is:
– pass ssl parameters depending on client version (whether it's mysql or mariadb) – perhaps just make --ssl[a-z-]+ params passed straight to client application?
– allow ssl to be passed with credentials
After some hacking around (commenting out return 1 in if opt{ssl-ca} and adding an extra param --ssl which is passed through to mysql and mysqladmin), mysqltuner seems to be working. I will try to prepare PR if I'll be able to find some time next couple days.
I'm trying to run the tuner against MariaDB 10.3 hosted and managed by Microsoft Azure. SSL enforcement is enabled.
The command I'm using looks like this:
perl mysqltuner.pl --host <instance>.mariadb.database.azure.com --user <username>@<instance> --pass '<password>' --ssl-ca <certpath> --forcemem 10000
I've also tried --userenv and --passenv env variables, and providing host, user and pass with and without single and double quotes, and explicitly providing the port. No matter what I try I always get the following error
What is wrong? I am using the admin user account created when I deployed the database. I can connect to the database via mysql client.
When I use --debug I also get
[DG] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
though I've specified a host. I also tried using a different socket (--socket /tmp/mariadb.sock
) but that didn't help.The text was updated successfully, but these errors were encountered: