ホームページ  >  記事  >  データベース  >  MySQL データベースに接続すると「公開キーの取得は許可されていません」というエラーが表示されるのはなぜですか?

MySQL データベースに接続すると「公開キーの取得は許可されていません」というエラーが表示されるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 05:52:01504ブラウズ

Why Am I Getting a

MySQL-Java 接続における公開キーの取得の問題

Java を使用して MySQL データベースに接続しようとすると、例外が発生する場合があります: _Public Key Retrieval is not許可された_。この問題は、MySQL コネクタの使用時に実装されたセキュリティ対策が原因で発生します。

この問題に対処するには、MySQL 接続文字列に次のオプションを追加して公開キーの取得を有効にする必要があります:

allowPublicKeyRetrieval=true

このオプションを使用すると、クライアントがサーバーから公開キーを自動的に要求できるようになり、「公開キーの取得は許可されていません」という例外が解決されます。ただし、公開キーの取得を有効にすると、悪意のあるプロキシがパスワードを取得できる可能性があることに注意することが重要です。したがって、このオプションはテストまたは開発の目的でのみ使用することをお勧めします。

接続文字列の例

allowPublicKeyRetrieval オプションを含めると、接続文字列は次のようになります。

jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&useSSL=false

さらに、テスト/開発の目的で、useSSL=false を設定して SSL 暗号化を無効にすることもできます。

テストでは SSL を無効にする

<code class="java">import com.mysql.cj.jdbc.MysqlDataSource;
...

MysqlDataSource dataSource = new MysqlDataSource();

dataSource.setUseSSL(false);
...</code>

これらの調整を接続に実装することで、文字列を変更し、テストのために SSL を無効にすると、「公開キーの取得は許可されていません」という例外を克服して、MySQL データベースに正常に接続できます。

以上がMySQL データベースに接続すると「公開キーの取得は許可されていません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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