title: Connection Java - MySQL : Public Key Retrieval is not allowed
body: <p>I try to connect MySQL database with Java using connector 8.0.11.   Everything seems to be OK, but I get this exception:</p>
  <pre><code>Exception in thread &quot;main&quot; java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at
       com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:108) at 
       com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) at
       com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at     
       com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) at 
       com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444) at
       com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) at
       com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at
       com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:438) at
       com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:146) at
       com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:119) at
       ConnectionManager.getConnection(ConnectionManager.java:28) at
       Main.main(Main.java:8)
   
  </code></pre>
  <p>Here is my Connection Manager class:</p>
  <pre><code>public class ConnectionManager {
  
      public static final String serverTimeZone = &quot;UTC&quot;;
      public static final String serverName = &quot;localhost&quot;;
      public static final String databaseName =&quot;biblioteka&quot;;
      public static final int portNumber = 3306;
      public static final String user = &quot;anyroot&quot;;
      public static final String password = &quot;anyroot&quot;;
      
      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 );
          
          return dataSource.getConnection();
      }
  }
  </code></pre>