MySQL 4.1 の認証エラーの解決
MySQL データベースに接続しようとすると、「古い認証」に関するエラー メッセージが表示される場合があります。 」この問題は、従来のパスワード ハッシュ方式を使用して MySQL 4.1 以降のバージョンに接続するときに発生します。
根本原因の特定
MySQL 4.1 より前では、独自のパスワード ハッシュ スキームが使用されていました。雇用されている。ただし、新しいバージョンでは、古いパスワード形式と新しいパスワード形式の両方を利用するオプションが導入されました。古いパスワードを有効にする構成では、この接続エラーが発生する場合があります。
問題の解決
エラーが古いパスワード設定に起因するかどうかを確認するには、次の SQL クエリを実行します。 :
SHOW VARIABLES LIKE 'old_passwords'
結果が「オフ」を示している場合は、ユーザーの既存の古いパスワード エントリがエラーの原因である可能性があることを示しています。 テーブル。この場合、影響を受けるアカウントに新しいパスワードを作成すると、問題が解決するはずです。
特定のアカウントにどのハッシュ方式が使用されるかを確認するには、「mysql.user」テーブルを参照してください:
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
古いパスワードを持つアカウントのパスワードの長さは 16 ですが、新しいパスワードを持つアカウントのパスワードの長さは 41 になります。必要に応じて、次のコマンドを使用してパスワードをリセットします。構文:
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword'); FLUSH Privileges;
パスワードが更新されると、パスワードの長さには新しいハッシュ方式の採用が反映され、接続エラーは排除されます。
以上がMySQL 4.1 に接続する際の「古い認証」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。