【发布时间】:2017-11-18 05:12:32
【问题描述】:
最近一直让我发疯,希望有人能帮助我。
我一直在尝试从谷歌应用引擎(春季启动应用)连接到谷歌云 sql(第二代),但没有成功。我按照此页面上的说明https://cloud.google.com/appengine/docs/flexible/java/using-cloud-sql 获取连接字符串。从我的本地计算机连接到谷歌云 sql 很好。
另外,我的应用引擎和 google sql 实例来自同一个项目。我还验证了我可以从 goole 应用引擎的云 shell 连接到 google sql
我想知道哪个是正确的连接字符串。我尝试了这两个连接模板,但没有运气
"jdbc:google:mysql://${INSTANCE_CONNECTION_NAME}/${database}?user=${user}&password=${password}"
"jdbc:mysql://google/${database}?useSSL=false&cloudSqlInstance=${INSTANCE_CONNECTION_NAME}&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=${user}&password=${密码}"
这是来自谷歌云的日志跟踪:
017-11-17 00:20:51 default[20171117t071753] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
2017-11-17 00:20:51 default[20171117t071753] 引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障 2017-11-17 00:20:51 默认[20171117t071753] 2017-11-17 00:20:51 default[20171117t071753] 最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。 2017-11-17 00:20:51 默认 [20171117t071753] 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:989) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.MysqlIO.(MysqlIO.java:341) ~[mysql-connector-java-5.1.43.jar!/:5.1.43] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2196) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2229) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2024) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:779) ~[mysql-connector-java-5.1.43.jar!/:5.1.43] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47) ~[mysql-connector-java-5.1.43.jar!/:5.1.43] 2017-11-17 00:20:51 默认 [20171117t071753] 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_131] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) ~[mysql-connector-java-5.1.43.jar!/:5.1.43 ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:735) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:667) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:482) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.java:154) ~[tomcat-jdbc-8.5.16.jar!/:na] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:131) ~[tomcat-jdbc-8.5.16.jar!/:na ] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-4.3.10.RELEASE.jar!/:4.3 .10.发布] 2017-11-17 00:20:51 默认 [20171117t071753] 在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ~[spring-jdbc-4.3.10.RELEASE.jar!/:4.3 .10.发布] 2017-11-17 00:20:51 默认[20171117t071753] ...省略了 29 个常见框架 2017-11-17 00:20:51 默认[20171117t071753] 原因:java.net.UnknownHostException:google at java.net.InetAddress.getAllByName0(InetAddress.java:1280) ~[na:1.8.0_131] at java. net.InetAddress.getAllByName(InetAddress.java:1192) ~[na:1.8.0_131] at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[na:1.8.0_131] at com.mysql.jdbc。 StandardSocketFactory.connect(StandardSocketFactory.java:188) ~[mysql-connector-java-5.1.43.jar!/:5.1.43] at com.mysql.jdbc.MysqlIO.(MysqlIO.java:300) ~[mysql- connector-java-5.1.43.jar!/:5.1.43]
【问题讨论】:
标签: java google-app-engine spring-boot google-cloud-sql