MYSQL Help:
a.2.3Client does not support authentication protocol
MySQL 4.1 and up uses the authentication protocol based on a password hashing algorithm this is incompatible with that used by older clients. If You upgrade the "server to" 4.1, attempts to connect to it with a older client may fail with the following message:
shell> MySQL
Client does not support authentication protocol requested by
server; Consider upgrading MySQL Clie Nt
To solve this problem, for should use one of the following approaches:
- Upgrade all client programs to use a 4.1.1 or newer client library.
- When connecting to the "server with a" pre-4.1 client program, use A is still has a pre-4.1-style password.
- Reset The password to pre-4.1 style for each user, that needs to use a pre-4.1 client program. This can is done using the
set PASSWORD
statement and the old _password ()
function: mysql> SET PASSWORD for-> ' some_user ' @ ' some_host ' = OLD_PASSW ORD (' newpwd ');
Alternatively, use update
and flush privileges
: mysql> UPDATE mysql.user SET Password = Old_password (' newpwd ')-> WHERE Host = ' some_host ' and User = ' some_user '; mysql> FLUSH privileges;
Substitute the password you want to the " newpwd" in the preceding examples. MySQL cannot tell you what the original password is, so you'll need to pick a new one.
- tell the server to use the older password hashing algorithm:
- Start
mysqld /code> with the --old-passwords
option.
- Assign an old-format password to each account this has had its password updated to the longer 4.1 format. You can identify this accounts with the following query:
mysql> SELECT Host, User, Password from Mysql.user-&G T WHERE LENGTH (Password) >
For the displayed by the query, use the host
and user
values and assign a password using the old_password ()
function and either set PASSWORD
or update
, as described earlier.
For additional background on password hashing and authentication, and the "section 5.5.9 password" hashing in MySQL 4.1.