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? Как я могу отключить это?