подключиться к Google Cloud SQL через SQL Factory - PullRequest
0 голосов
/ 04 марта 2020

My Google Cloud mySQL настроен и работает. В пользовательской таблице я создал id = test и разрешил ему подключаться с% (любого хоста)

У меня есть небольшая Java программа

Properties dbcpProperties = new Properties();

String CLOUD_SQL_CONNECTION_NAME = "google_project:us-central1:instance";

dbcpProperties.put("driverClassName","com.mysql.jdbc.Driver");

dbcpProperties.put("url",
        String.format(
            "jdbc:mysql://google/%s?socketFactory=com.google.cloud.sql.mysql.SocketFactory"
                + "&cloudSqlInstance=%s", DB_NAME, CLOUD_SQL_CONNECTION_NAME));

dbcpProperties.put("username", DB_USER);
dbcpProperties.put("password", DB_PASS);

try {
      BasicDataSource dataSource = (BasicDataSource) BasicDataSourceFactory.createDataSource(
          dbcpProperties);
      System.out.println("UPN Data source succesfully created.");
    } catch (Exception e) {
      System.out.println("FATAL ERROR: Couldn't create new Data source.");
      throw new RuntimeException(e);
    }

Каждый раз, когда я ее запускаю, он жалуется Вызывается: org. apache .commons.dbcp.SQLNestedException: Невозможно создать PoolableConnectionFactory (доступ запрещен для пользователя 'test' @ 'cloudsqlproxy ~ myipaddress' (используя пароль: YES)) в org. apache .commons. dbcp.BasicDataSource.createPoolableConnectionFactory (BasicDataSource. java: 1549) в org. apache .commons.dbcp.BasicDataSource.createDataSource (BasicDataSource. java: 1388) в org. * 1018c. getLogWriter (BasicDataSource. java: 1098) в орг. apache .commons.dbcp.BasicDataSourceFactory.createDataSource (BasicDataSourceFactory. java: 350) в test.Test.connect2CloudMySQL2 (Test. java) 13: Test. *1022* 13: 45 . Еще 6

Но если я разрешил пользовательскому тесту подключаться с любого облакаqlproxy ~%, то он работает

Почему он настаивает на использовании cloudsqlproxy? Как я могу отключить это?

...