Подключение к Google Cloud SQL с помощью Java - PullRequest
0 голосов
/ 09 декабря 2018

Я пытался несколько дней и ничего не получил.Я пытаюсь подключиться к своей базе данных MySQL с помощью создаваемой программы JavaFX, не требуя, чтобы я включал в белый список все IP-адреса, которые пытаются подключиться.Команда поддержки GCP ответила мне один раз, но совершенно неверно истолковала проблему (привела примеры журналов, которые появлялись только после того, как я внес свой белый IP-адрес в белый список для проверки других аспектов моей программы).

Я нашел инструкции в https://cloud.google.com/sql/docs/mysql/connect-external-app#java, и вставил следующий код в мой основной метод (подставив соответствующие значения для databaseName, instanceConnectionName, username и password):

String jdbcUrl = String.format(
"jdbc:mysql://google/%s?cloudSqlInstance=%s"
+ "&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false",
databaseName,
instanceConnectionName);

Connection connection = DriverManager.getConnection(jdbcUrl, username, 
password);

Затем я включил Cloud API и, насколько мне известно, установил и аутентифицировал Cloud SDK в соответствии с указаниями.Тем не менее, несмотря на все это, я все еще не могу подключиться к экземпляру без IP-адреса из белого списка, хотя в документации говорится, что это обходной путь для этого.Кто-нибудь видит проблему с тем, как я пытаюсь подключиться, или знает, как заставить это работать?

1 Ответ

0 голосов
/ 10 декабря 2018

В README есть несколько более подробных инструкций для репо проекта.

Некоторые потенциальные точки отключения:

  1. Использование Учетные данные приложения по умолчанию для предоставления учетных данных на завод.

  2. Убедитесь, что у вас включен Cloud SQL API для вашего проекта (и, если вы используете служебную учетную запись, обязательно добавьте к ней роль Cloud SQL Client).

  3. Добавьте библиотеку как зависимость в свой POM или файл gradlefile.

  4. Убедитесь, что ваш брандмауэр подключается через порт 3307 к вашему экземпляру Cloud SQL.

...