ID #1044

Error no. 1251: "Client does not support authentication..."


Error no. 1251: "Client does not support authentication protocol requested by server - consider upgrading MySQL client" occurs when the hashing-method for storing password used by the client differs from the one of the server. Typically it occurs when trying to connect to MySQL 4.1 or 5.x with a client compiled for 3.x or 4.0.

MySQL explains here:

The "client" as far as SQLyog goes is either the sqlyog.exe and sja.exe executable files (with its compiled-in MySQL C-API) or - in case you use HTTP-tunneling - your PHP-binary.

SQLyog itself (the sqlyog.exe -executable) handles all MySQL versions from 3.23.x and upwards automatically, and the error message should not occur with direct connection. In case you experience the error when HTTP-tunneling, you can EITHER replace the PHP-binary OR "downgrade" the hash-type for the user used for tunneling (and other PHP based connections) with the command

SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

Note what is here UPPERCASE must be written literally as here.

At ISP's you should expect the Sys Admin there to have MySQL-installations and PHP-binaries that "fit". If you operate your own MySQL server the hashing method may or may not change when upgrading the server from 4.0 to a newer version. That depends on the upgrade method.


Tags: -

Related entries:

You can comment this FAQ