MySql Error (1250) : Client does not support authentication protocol


Starting from version 4.1.x of MySQL and above, an authentication protocol based on a password hashing algorithm that is incompatible with that used by older MySql clients.

So the older mysql clients cannot talk to the newer MySql servers because of the disparity in authentication methods.

Any attempts to connect to it with an older client may fail with the following message:

Error (1250) : Client does not support authentication protocol requested by server; consider upgrading MySQL client 

I don’t want to recompiling php with the new mysql client libraries but what I did is reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD()  function:

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
mysql> UPDATE mysql.user
    -> SET password=OLD_PASSWORD('yourpasswd')
    -> WHERE user='root'
    -> AND host='localhost';
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)

No Comments

Leave a reply

You must be logged in to post a comment.