On Fri, 25 Mar 2005, Michael Stassen wrote:
Password hashing was changed in 4.1 to improve authentication security, but
this complicates backward compatibility. See the manual for details:
http://dev.mysql.com/doc/mysql/en/old-client.html
http://dev.mysql.com/doc/mysql/en/password-hashing.html
Your best bet is to link your app against the 4.1 client library.
I just tried this. Or I think I did. I uninstalled, and
reinstalled mysql v4.1.10a, which I assume has the 4.1
client library. I recompiled, relinked, and I get the
same error. Again, I can connect using the mysql CLI, it's
just connecting through the API which is giving me problems.
I can connect to the 4.1.1 server with the mysql CLI, but
only the 4.0 server with the API. I did have to make one
minor change to the code to get it to recompile. Is there
some other API issue which I need to be aware of?
The code I use to connect is:
_mysqlconn = mysql_init (NULL);
if (_mysqlconn == NULL)
{
print_error (NULL, mysql_init() failed (probably out of memory));
return -1;
}
/* connect to server */
if (mysql_real_connect (_mysqlconn, host_name, user_name, password,
database_name, opt_port_num, opt_socket_name,
opt_flags) == NULL)
{
print_error (_mysqlconn, mysql_real_connect() failed);
mysql_close (_mysqlconn);
_mysqlconn = NULL;
return -1;
}
And the failure occurs during mysql_real_connect with error 1045
Access denied for user: and not the
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
that the web-page indicates that I might expect. Again, I
*can* connect with the mysql CLI, it is only from the API
where I'm having difficulty.
Referencing the web page, it appears that the 4.1 server is
using 16-byte passwords, and not the 41-byte passwords. It
might be that the server was started with --old-passwords
option, but how can I find out if that is the case?
It might be that the API is generating long password values,
when I need short password values. Can I control this behaviour
through the API?
- Andrew
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]