来源: http://dev.mysql.com/doc/mysql/en/Old_client.html
MySQL 4.1 以降では、古いクライアントで使用されるものとは互換性のないパスワード ハッシュ アルゴリズムに基づく認証プロトコルが使用されます。サーバーを 4.1 にアップグレードすると、古いクライアントでサーバーに接続しようとすると、次のメッセージが表示されて失敗することがあります。shell> mysqlClient はサーバーが要求した認証プロトコルをサポートしていません。 MySQL クライアントのアップグレードを検討してください
この問題を解決するには、次のいずれかの方法を使用する必要があります: 4.1.1 以降のクライアント ライブラリを使用するようにすべてのクライアント プログラムをアップグレードします。 4.1 より前のクライアント プログラムを使用してサーバーに接続する場合は、4.1 より前の形式のパスワードが残っているアカウントを使用してください。 4.1 より前のクライアント プログラムを使用する必要がある各ユーザーのパスワードを 4.1 より前のスタイルにリセットします。これは、SET PASSWORD ステートメントと OLD_PASSWORD() 関数を使用して実行できます: mysql> SET PASSWORD FOR -> some_user@some_host = OLD_PASSWORD(newpwd);または、UPDATE および FLUSH PRIVILEGES を使用します: mysql> UPDATE mysql.user SET Password = OLD_PASSWORD (newpwd) -> WHERE Host = some_host AND User = some_user;mysql> FLUSH PRIVILEGES;前述の例の ``newpwd'' を、使用するパスワードに置き換えます。 MySQL は元のパスワードが何であったかを知ることができないため、新しいパスワードを選択する必要があります。古いパスワード ハッシュ アルゴリズムを使用するようにサーバーに指示します。 --old-passwords オプションを指定して mysqld を起動します。パスワードが長い 4.1 形式に更新された各アカウントに、古い形式のパスワードを割り当てます。これらのアカウントは次のクエリで識別できます: mysql> SELECT Host, User, Password FROM mysql.user -> WHERE LENGTH(Password) > 16;クエリによって表示されるアカウント レコードごとに、ホストとユーザーの値を使用して、前述のように、OLD_PASSWORD() 関数と SET PASSWORD または UPDATE を使用してパスワードを設定します。