0% found this document useful (0 votes)
22 views

MySQL RefManual A.2.3

This document discusses an error where clients do not support the authentication protocol used in MySQL 5.1. It provides three solutions: 1) Upgrade all clients to use a newer authentication protocol, 2) Use accounts with older password styles, or 3) Configure MySQL to use the older password hashing algorithm by starting mysqld with --old-passwords. It also notes that older versions of PHP's mysql extension do not support MySQL 4.1.1's authentication.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

MySQL RefManual A.2.3

This document discusses an error where clients do not support the authentication protocol used in MySQL 5.1. It provides three solutions: 1) Upgrade all clients to use a newer authentication protocol, 2) Use accounts with older password styles, or 3) Configure MySQL to use the older password hashing algorithm by starting mysqld with --old-passwords. It also notes that older versions of PHP's mysql extension do not support MySQL 4.1.1's authentication.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

:: DEVELOPER ZONE Search

MySQL.com Developer Zone Partners Online Shop


Login / Register

Downloads Documentation Forums Lists Bugs Events User Groups Guilds Blogs Support

Resources Books FAQ

MySQL 5.1 Reference Manual :: A Problems and Common Errors :: A.2 Common
Errors When Using MySQL Programs :: A.2.3 Client does not support authentication
protocol
Overview MySQL Reference Manual 3.23, 4.0, 4.1 5.0 5.1 MaxDB Documentation

A.2.3. Client does Previous / Next / Up / Table of Contents


Search the MySQL not support
manual: authentication protocol
Manual 5.1 MySQL 5.1 uses an authentication protocol based on a password hashing
Go algorithm that is incompatible with that used by older (pre-4.1) clients. If you
upgrade the server from 4.1, attempts to connect to it with an older client may
fail with the following message:
MySQL 5.1 Reference Manual
shell> mysql
Client does not support authentication protocol requested
A.2 Common Errors When Using by server; consider upgrading MySQL client
MySQL Programs
A.2.1 Access denied To solve this problem, you should use one of the following approaches:
A.2.2 Can't connect to [local] MySQL
Upgrade all client programs to use a 4.1.1 or newer client library.
server
A.2.3 Client does not support When connecting to the server with a pre-4.1 client program, use an account
authentication protocol that still has a pre-4.1-style password.
A.2.4 Password Fails When Entered Reset the password to pre-4.1 style for each user that needs to use a pre-4.1
Interactively client program. This can be done using the SET PASSWORD statement and the
A.2.5 Host 'host_name' is blocked OLD_PASSWORD() function:
A.2.6 Too many connections
mysql> SET PASSWORD FOR
A.2.7 Out of memory
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
A.2.8 MySQL server has gone away
A.2.9 Packet too large Alternatively, use UPDATE and FLUSH PRIVILEGES:
A.2.10 Communication Errors and
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
Aborted Connections
-> WHERE Host = 'some_host' AND User = 'some_user';
A.2.11 The table is full
mysql> FLUSH PRIVILEGES;
A.2.12 Can't create/write to file
A.2.13 Commands out of sync Substitute the password you want to use for “newpwd” in the preceding examples.
A.2.14 Ignoring user MySQL cannot tell you what the original password was, so you'll need to pick a
A.2.15 Table 'tbl_name' doesn't exist new one.
A.2.16 Can't initialize character set Tell the server to use the older password hashing algorithm:
A.2.17 File Not Found
Start mysqld with the --old-passwords option.

Get the MySQL Language Reference Assign an old-format password to each account that has had its password updated to
the longer 4.1 format. You can identify these accounts with the following query:
and MySQL Administrator's Guide from
MySQL Press! mysql> SELECT Host, User, Password FROM mysql.user
-> WHERE LENGTH(Password) > 16;

Learn about new MySQL releases, For each account record displayed by the query, use the Host and User values and
assign a password using the OLD_PASSWORD() function and either SET PASSWORD
technical articles, events and more. or UPDATE, as described earlier.

Subscribe to the monthly MySQL Note: In older versions of PHP, the mysql extension does not support the
Newsletter! authentication protocol in MySQL 4.1.1 and higher. This is true regardless of
the PHP version being used. If you wish to use the mysql extension with
[email protected] MySQL 4.1 or newer, you may need to follow one of the options discussed
Subscribe above for configuring MySQL to work with old clients. The mysqli extension
(stands for "MySQL, Improved"; added in PHP 5) is compatible with the
improved password hashing employed in MySQL 4.1 and higher, and no
special configuration of MySQL need be done in order to use this MySQL
client library. For more information about the mysqli extension, see
http://php.net/mysqli.

For additional background on password hashing and authentication, see

You might also like