Bug #80374 mysqlfailover with login-path not working
Submitted: 15 Feb 2016 14:56 Modified: 19 Oct 2016 9:00
Reporter: Thomas Herzog Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Utilities Severity:S2 (Serious)
Version:5.7.11-1debian8 OS:Debian (Linux service01 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux)
Assigned to: CPU Architecture:Any
Tags: login-path, mysql-client, mysqlfailover

[15 Feb 2016 14:56] Thomas Herzog
Description:
mysqlfailover with login-path-name not working.
with mysql-client-programm it works fine.

How to repeat:
is created a .mylogin.cnf with following commands:

mysql_config_editor set --login-path=backend01 --host=172.20.1.10 --user=failover --password
mysql_config_editor set --login-path=backend02 --host=172.20.1.11 --user=failover --password
... and so on.

mysqlfailover with login-path-name not working:

mysqlfailover --master=backend01 --slaves=backend02
2016-02-15 15:50:22 PM CRITICAL (u"Access denied for user 'failover'@'service01' (using password: YES)", 1045)
ERROR: (u"Access denied for user 'failover'@'service01' (using password: YES)", 1045)

mysql-client works fine:

mysql --login-path=backend01
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 692
Server version: 5.7.11-log MySQL Community Server (GPL)

in the log-file on backend01 i see 
[Note] Access denied for user 'failover'@'service01' (using password: YES)

installed mysql software:
root@service01 ~ # dpkg -l '*mysql*' | grep ii
ii  libclass-dbi-mysql-perl           1.00-3           all          extensions to Class::DBI for MySQL
ii  libdbd-mysql-perl                 4.028-2+b1       amd64        Perl5 database interface to the MySQL database
ii  libmysqlclient-dev                5.7.11-1debian8  amd64        MySQL development headers
ii  libmysqlclient20:amd64            5.7.11-1debian8  amd64        MySQL shared client libraries
ii  libtime-piece-mysql-perl          0.06-2           all          module adding MySQL-specific methods to Time::Piece
ii  mysql-apt-config                  0.6.0-1          all          Auto configuration for MySQL APT Repo.
ii  mysql-client                      5.7.11-1debian8  amd64        MySQL Client meta package depending on latest version
ii  mysql-common                      5.7.11-1debian8  amd64        MySQL configuration for client and server
ii  mysql-community-client            5.7.11-1debian8  amd64        MySQL Client and client tools
ii  mysql-connector-python            2.1.3-1debian8.2 all          MySQL database driver written in Python
ii  mysql-utilities                   1.5.6-1debian8   all          Collection of scripts for managing MySQL servers

Suggested fix:
no suggestion.
[6 Apr 2016 22:52] Ravi Subramaniyan
Hi,
 I have the same issue with utilities and stack details are: 

mysql@dbamysqldb1:~> uname -a
Linux dbamysqldb1.amers1.cis.trcloud 2.6.32-431.5.1.el6.x86_64 #1 SMP Tue Feb 11 11:09:04 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

MySQL Utilities mysqlrpladmin version 1.5.6
License type: GPLv2

 mysql --login-path=dbamysqldb2_Instance
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 5.7.11-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql@dbamysqldb1:~> mysqlrpladmin --master=dbamysqldb1_Instance --discover-slaves-login=slaves_Instance  health
ERROR: (u"Access denied for user 'mysqlfailor'@'X.X.X.X' (using password: YES)", 1045)

Looks like some bug? Any help?
[7 Apr 2016 21:31] Ravi Subramaniyan
******Found a solution to the problem

Action : Replace /usr/bin/my_print_defaults with 5.6.24 or prior binary after upgrade, otherwise MySQL Utlities can not read login-path password properly and connectivity will fail even though with correct mylogin.cnf credential.
 
Background: Between the release of MySQL 5.6.24 and MySQL 5.6.25, my_print_defaults was modified.  MySQL Utilities depended on my_print_defaults being able to return the unencrypted contents of .mylogin.cnf.  It now returns **** instead of the password. The mysql client works, because it does not depend on this behavior, but MySQL utlities fail because they do depend on the previous behavior of my_print_defaults.
[19 Oct 2016 9:00] Chiranjeevi Battula
Hello Thomas Herzog,

Thank you for the bug report.
This is most likely duplicate of Bug #80385, please see Bug #80385.

Thanks,
Chiranjeevi.