Отказано в доступе из jdbc в Google cloudsql

# #java #mysql #google-cloud-platform #google-cloud-sql

Вопрос:

Я пытаюсь подключиться к экземпляру gcp cloudmysql, используя строку подключения jdbc с включенным ssl. Это дает мне доступ, в котором пользователю отказано. Я выполнил следующие действия

  1. Я получил клиентский ключ, сертификат клиента, серверный центр сертификации из экземпляра cloudmysql.
  2. Сгенерировал truststore.jks с помощью keytool с сервера-ca.pem.
  3. Теперь ниже приведен фрагмент. При запуске пользователю отказано в доступе.дайте мне знать, если что-нибудь пропало
 import java.sql.*;
import java.util.Properties;  
class JdbcTest{  
public static void main(String args[]){  
try{  
Class.forName("com.mysql.jdbc.Driver");  
System.setProperty("javax.net.ssl.trustStore","D://truststore.jks");
System.setProperty("javax.net.ssl.trustStorePassword","password");
Connection con=DriverManager.getConnection(  
"jdbc:mysql://localhost:3306/dbname?verifyServerCertificate=trueamp;useSSL=trueamp;requireSSL=true", "username", "password");    
Statement stmt=con.createStatement();  
ResultSet rs=stmt.executeQuery("SHOW DATABASES");  
while(rs.next())  
System.out.println("test");  
con.close();  
}catch(Exception e){ e.printStackTrace();}  
}  
}  
 

Комментарии:

1. Работает ли это без SSL?

2. Можете ли вы поделиться точным сообщением об ошибке, которое вы получаете?

3. @guillaumeblaquiere: он отлично работает без ssl.

4. @PriyashreeBhadra: «доступ запрещен для пользователя «Тест» с использованием пароля да» — это ошибка

5. Включите отладку SSL и поделитесь результатами отладки SSL.