我無法將Spring Boot + Spring Data應用程序部署到Google App Engine,並讓應用程序連接到Google CloudSql(MySQL)數據庫。GAE上的Spring Boot + Spring Data with CloudSql - 數據庫連接
GAE應用程序和CloudSql實例在同一個項目中。
我能夠運行整個應用程序,並從本地連接到CloudSql沒有問題。
沒有數據庫連接的Spring Boot在GAE上沒有錯誤地正常工作。添加Spring數據會拋出「com.mysql.cj.jdbc.exceptions.CommunicationsException:通信鏈接失敗」錯誤。
在pom.xml我已經包括:
<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>
而且,我已經試過只使用MySQL的依賴性:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
在我的研究,我沒有發現什麼好的Spring Boot + Spring Data + GAE + CloudSql的示例或相關問題。
連接到application.properties文件中的CloudSql數據庫的正確設置是什麼?我試過以下,但都吐出各種錯誤:
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***
我有完全相同的問題。一直在看這個年齡。你有沒有找到解決辦法? – Stevo
仍然是我的一個問題。我發現了我訂閱的這個問題:https://github.com/spring-cloud/spring-cloud-connectors/issues/191 – Rayquan