ホームページ >データベース >mysql チュートリアル >Java を MySQL に接続するときに発生する「公開キーの取得は許可されていません」という例外を解決するにはどうすればよいですか?
接続 Java - MySQL: 「公開キーの取得は許可されていません」例外の解決
使用して MySQL データベースへの接続を確立しようとしたときJava および 8.0.11 コネクタでは、次の例外が発生する可能性があります:
<code class="java">Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed</code>
解決策:
この例外は、クライアントがパブリック ファイルを取得しようとしていることを示します。サーバーからキーを取得しますが、公開キーの取得は許可されていません。この問題を解決するには、MySQL 接続文字列にallowPublicKeyRetrieval=true オプションを追加して、公開キーの取得を明示的に許可する必要があります。
変更された接続マネージャー クラス:
<code class="java">public static Connection getConnection() throws SQLException { MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUseSSL( false ); dataSource.setServerTimezone( serverTimeZone ); dataSource.setServerName( serverName ); dataSource.setDatabaseName( databaseName ); dataSource.setPortNumber( portNumber ); dataSource.setUser( user ); dataSource.setPassword( password ); // Allow public key retrieval dataSource.setAllowPublicKeyRetrieval( true ); return dataSource.getConnection(); }</code>
allowPublicKeyRetrieval を true に設定すると、クライアントはサーバーから公開キーを要求することが許可されます。これにより、「公開キーの取得は許可されていません」例外が解決されます。
追加の考慮事項:
以上がJava を MySQL に接続するときに発生する「公開キーの取得は許可されていません」という例外を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。