1

Spring App + Spring DataアプリケーションをGoogle App Engineにデプロイできず、Google CloudSql(MySQL)データベースに接続することができません。CloudSqlを使用したGAEのSpringブート+ Springデータ接続 - データベース接続

GAEアプリケーションとCloudSqlインスタンスは同じプロジェクトにあります。

私はアプリ全体を実行し、ローカルホストからCloudSqlに問題なく接続できます。

データベース接続のないSpringブートは、GAEでエラーなく正しく動作します。 Springデータを追加すると、「com.mysql.cj.jdbc.exceptions.CommunicationsException:Communications link failure」エラーがスローされます。また、私は、MySQLの依存関係を使用しようとした

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>6.0.6</version> 
</dependency> 
<dependency> 
    <groupId>com.google.cloud.sql</groupId> 
    <artifactId>mysql-socket-factory</artifactId> 
    <version>1.0.2</version> 
</dependency> 

:私の研究では

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>6.0.6</version> 
</dependency> 

を、私は何か良いを発見していない私が含まれているのpom.xmlで

Spring Boot + Spring Data + GAE + CloudSqlに対するサンプルまたは関連する問題。

application.propertiesファイル内のCloudSql DBに接続するための正しい設定は何ですか?私は次のことを試してみたが、すべては、さまざまなエラーを投げた:

spring.jpa.hibernate.ddl-auto:none 

# tried with GoogleDriver and without: 
# spring.datasource.driver-class-name=com.mysql.jdbc.GoogleDriver 

# urls configs attempted: 
# spring.datasource.url=jdbc:mysql://google/**db-name**?cloudSqlInstance=***instance-name***b&socketFactory=com.google.cloud.sql.mysql.SocketFactory 
# spring.datasource.url=jdbc:mysql://***instance-name***/**db-name**?user=root 
# spring.datasource.url=jdbc:mysql://localhost:3306/**db-name** 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306:3306/**db-name** 
# spring.datasource.url=jdbc:mysql://***mysql ip address***:3306/**db-name** 

spring.datasource.username=***user*** 
spring.datasource.password=***password*** 
+0

私はまったく同じ問題を抱えています。これを年齢層で見てきました。あなたは修正を見つけましたか? – Stevo

+0

まだ私の問題です。私はこの問題を発見しました。https://github.com/spring-cloud/spring-cloud-connectors/issues/191 – Rayquan

答えて

1

春ブートapplication.propertiesのプロパティは私のために働いたの下に、私は、同じ問題がありました。

database=mysql 
spring.datasource.driverClassName=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://google/{db-schema}?socketFactory=com.google.cloud.sql.mysql.SocketFactory&cloudSqlInstance={Cloud-sql-Instance-Name} 

spring.datasource.username=root 
spring.datasource.password=password 
関連する問題