MySQL 4.1 では、パスワードハッシュアルゴリズムに基づく認証プロトコルが使用されていますが、これは旧クライアントが使用しているものと互換性がありません。 サーバを 4.1 にアップグレードすると、旧クライアントで接続しようとした場合に、以下のエラーメッセージが発生する可能性があります。
shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
この問題を解決するには、以下のいずれかを行ってください。
全クライアントプログラムをアップグレードして、4.1.1 以降のクライアントライブラリを使用するようにする。
4.1 より前のクライアントから接続する場合は、旧パスワードでユーザアカウントを使用する。
4.1 より前のクライアントを必要とするユーザをリセットし、旧パスワードを使用するようにする。
mysql>UPDATE user SET Password = OLD_PASSWORD('mypass')
->WHERE Host = 'some_host' AND User = 'some_user';
mysql>FLUSH PRIVILEGES;
サーバが旧パスワードハッシュアルゴリズムを使用するように指定する。
--old-passwords
を指定して mysqld
を開始する。
ロングパスワードを持っているユーザすべてのパスワードを設定する。これらのユーザは、以下で調べることができる。
SELECT * FROM mysql.user WHERE LEN(password) > 16;
パスワードハッシュと認証の背景については、項4.3.11. 「MySQL 4.1 のパスワードハッシュ」 を参照してください。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.