Bug #70958 mysqldump 5.6.14 does not support --skip-secure-auth, yet the client does
Submitted: 19 Nov 2013 22:01 Modified: 20 Nov 2013 8:46
Reporter: Simon Mudd (OCA) Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: mysqldump Command-line Client Severity:S3 (Non-critical)
Version:5.6.14 OS:Any (CentOS 6)
Assigned to: CPU Architecture:Any
Tags: 5.0, 5.6, skip-secure-auth

[19 Nov 2013 22:01] Simon Mudd
I am accessing a remote server (I believe CentOS 6) which I think has the OS default version of MySQL installed. Connecting to port 3306 indicates the version is 5.0.95-log. 

I am doing this from a server running 5.6.14 client rpms (also CentOS 6).

While I can login to with the 5.6.14 client, mysqldump from the same version refuses to let me use the --skip-secure-auth option.

While it may not be good that the remote server is running with the configuration it has, I have no control over that and having to downgrade my mysql client in order to dump the database is rather inconvenient and should not be necessary given I can use the mysql client to connect to the same server.

How to repeat:
$ telnet 213.AAA.BBB.CCC 3306
Trying 213.AAA.BBB.CCC...
Connected to 213.AAA.BBB.CCC.
Escape character is '^]'.
5.0.95-logD´┐Ż6}p<v_X}.,f;1#Z}*R?'AUConnection closed by foreign host.

$ mysqldump --host=213.AAA.BBB.CCC --user=myuser --password=mypass --skip-secure-auth mydb
Warning: Using a password on the command line interface can be insecure.
mysqldump: unknown option '--skip-secure-auth'

$ rpm -qf /usr/bin/mysql /usr/bin/mysqldump

Suggested fix:
Please ensure that mysqldump supports the same authentication methods as the normal mysqlclient.

I am aware that 5.0.95 is an extremely old version of MySQL but given it comes as the default version for some OS versions, unsurprisingly some people install and use it. I guess for backwards compatibility RH have to maintain this version now, and for those who are aware the Oracle supplied rpms are of course completely recent.
[19 Nov 2013 22:12] Simon Mudd
mysqladmin has the same issue.
[20 Nov 2013 6:52] Simon Mudd
Hm. I see from http://mirror.centos.org/centos-6/6/os/x86_64/Packages/ that the MySQL rpms shown there are for mysql-server-5.1.66-2.el6_3.x86_64.rpm, so it looks like the server I'm talking to, assuming it is CentOS is not CentOS 6.

Looking at: http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/ I see the mysql server version is:
mysql-server-5.0.95-5.el5_9.x86_64.rpm, so it seems this server is likely to be running CentOS 5.

Note: CentOS 5 is still supported by RedHat and I would imagine that OEL5 uses the same packages (for compatibility).

CentOS (and I assume RH as it's the upstream source) do provide for CentOS 5 these newer packages:

so I guess they are aware how out of date the MySQL 5.0 version is, but people need to choose that version and from what I see on the server I was connected to sometimes they don't install that.

Therefore I think the "bug report" (mysqldump and mysqladmin don't provide an option to skip-secure-auth) is still valid, even if somewhat frustrating.
[20 Nov 2013 8:46] MySQL Verification Team
Hello Simon,

Thank you for the bug report.
Verified as described.

[20 Nov 2013 16:07] MySQL Verification Team
see http://bugs.mysql.com/bug.php?id=69051