No one at perl@stripped seemed to know; i am posting here a few days.
A strange case - why would two seemingly identical circumstances yield these different
Machines A and B - two systems identical in OS versions and MySQL server installations. A
third machine (machine C) tries to connect to A and B, via Perl DBI, via remote IP.
Strangely, connection C->A succeeds, but when attempt to connect C->B fails with
the error in my subject line.
Both A and B are Fedora Core 4 (same kernel). Both have MySQL version 5.1.7.beta
installed, configured with defaults, and the servers (and clients) are running fine on
both A and B. In both systems the file "/etc/my.cnf" has the line "old_passwords=1" (in
the [mysqld] section).
I run a perl script from machine C, with exact same connecting code, (except for the
username, passowrd, database, etc.), looping over the two sets of authentication tokens;
a connection to A is established, but, trying to connect to B, the script returns:
DBI connect('database=cif;host=xxx.xxx.xxx.xxx;port=3306','xxxx',...) failed: Client does
not support authentication protocol requested by server; consider upgrading MySQL client
at ./test_load_db.pl line 126
(actual tokens "x"-ed out)
Furthermore, when I try to connect from C to B, WITHOUT perl, just using the command-line
mysql client (on C)
prompt>mysql -uusername -password -Dcif -hxxx.xxx.xxx.xxx
What could ever be the problem with the failing Perl DBI (C->B) connection, if
everything is OK with a C->A connection (with and without Perl), and, in addition, a
command-line C->B connection works?
Also, FWIW, I don't have root on machine C; i'm a mere client at the mercy of
administrators (I suppose I could install a local DBI, if need be, but fear it might be a
hastle and a lot of time, which I can't afford at the moment.)