ホームページ >バックエンド開発 >PHPチュートリアル >レガシー認証を使用して MySQL 4.1 に接続できないのはなぜですか?

レガシー認証を使用して MySQL 4.1 に接続できないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 19:27:29205ブラウズ

Why Can't I Connect to MySQL 4.1  Using Legacy Authentication?

レガシー認証を使用して MySQL 4.1 に接続できません

MySQL データベースに接続しようとすると、「接続」というエラー メッセージが表示される場合があります。エラー (2000) mysqlnd は古い認証を使用して MySQL 4.1 に接続できません。」この問題は、MySQL バージョン 4.1 より前のバージョンで使用されていた時代遅れのパスワード スキームが原因で発生します。 MySQL の新しいバージョンでは、この接続問題を引き起こす可能性があることが知られている、これらの時代遅れのパスワードを使用するオプションが提供されています。

MySQL データベース接続の問題のトラブルシューティング

MySQL データベースの場合はサードパーティのプロバイダーによって管理されているため、その構成を制御できない場合があります。ただし、データベースへの管理アクセス権がある場合は、

1.サーバーのパスワード スキーマ設定を確認します:

MySQL クエリを実行します:

SHOW VARIABLES LIKE 'old_passwords'
  • 結果が「old_passwords,Off」の場合、サーバーはデフォルトでレガシー パスワード スキーマが使用されます。
  • 結果が「old_passwords,On」の場合、ユーザー テーブルにレガシー パスワード エントリがまだ存在し、古い認証方法の使用がトリガーされる可能性があります。

2. 「mysql.user」テーブルのパスワードの長さを確認します:

クエリを実行します:

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
  • 従来のパスワードの長さは 16 文字です。
  • 最新のパスワードの長さは 41 文字です。

3.ユーザーのパスワードと構成の更新:

  • クエリを使用して、影響を受けるアカウントのパスワード リセットを実装します:
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
  • データベース権限の更新:
FLUSH Privileges;
  • 「mysql.user」テーブルのパスワードの長さが 41 に変更されたことを確認します。

4. MySQL ドキュメントを参照してください:

この問題の解決に関する追加情報については、次の MySQL ドキュメントを参照してください:

  • [Old Client](http://dev.mysql) .com/doc/refman/5.0/en/old-client.html)
  • [パスワード ハッシュ](http://dev.mysql.com/doc/refman/5.0/en/password-hashing. html)
  • [パスワードの設定](http://dev.mysql.com/doc/refman/5.0/en/set-password.html)

以上がレガシー認証を使用して MySQL 4.1 に接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。