繁体   English   中英

如何将托管在 Google 云引擎上的 Spring Boot 应用程序连接到 mysql 数据库?

[英]How to connect a spring boot application hosted on Google cloud engine to a mysql db?

我想在谷歌云引擎上部署我的 java spring boot 应用程序。 当我不配置数据库时,它运行良好。 但是当我使用 jpa 时,它只是找不到连接。 我尝试了多种方法,但到目前为止还没有奏效。

spring:
    jpa:
        database: MYSQL
        show-sql: false
        hibernate:
          ddl-auto: update
    datasource:
        driver-class-name: com.mysql.jdbc.GoogleDrive
        username: root
        password: ********
        url: jdbc:google:mysql://something-app:us-central1:something/something?user=root

这是我尝试的最后一个配置,但找不到驱动程序。 我的 pom.cml 中有这个

    <dependency>
        <groupId>com.google.cloud.sql</groupId>
        <artifactId>mysql-socket-factory</artifactId>
        <version>1.0.0-beta1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.4</version>
    </dependency>

知道我做错了什么。 或者它工作的例子(github 或其他)?

堆栈跟踪:

2016-10-08 14:13:13 default[20161008t161026]  java.sql.SQLException: Driver:com.google.appengine.api.rdbms.AppEngineDriver@746b25b1 returned null for URL:jdbc:google:mysql://something-app:us-central1:something/something?user=root

我终于用以下配置让它工作了。

spring:
    jpa:
        database: MYSQL
        show-sql: false
        hibernate:
          ddl-auto: update
    datasource:
        url: jdbc:mysql://google/myproject?cloudSqlInstance=myproject-app:us-central1:myproject&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=******&password=**********

我在 pom.xml 中使用了这个

<dependency>
    <groupId>com.google.cloud.sql</groupId>
    <artifactId>mysql-socket-factory</artifactId>
    <version>1.0.1</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM