首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql play-slick连接超时错误

Mysql play-slick连接超时错误
EN

Stack Overflow用户
提问于 2015-12-08 17:31:01
回答 2查看 2.5K关注 0票数 3

可能的重复项:Create a MySQL connection in Playframework with slick

我正在使用play-slick插件尝试连接mysql数据库。但每次slick尝试与Db通信时,我都会收到连接超时错误。我的application.conf文件如下:

代码语言:javascript
复制
slick.dbs.default.driver= "slick.driver.MySQLDriver$"
slick.dbs.default.db.dataSourceClass = "slick.jdbc.DatabaseUrlDataSource"
slick.dbs.default.db.properties.driver = "com.mysql.jdbc.Driver"
slick.dbs.default.db.url="jdbc:mysql://127.0.0.1:3306"
slick.dbs.default.db.username="root"
slick.dbs.default.db.password="xxxx"
slick.dbs.default.db.connectionTimeout=15s
slick.dbs.default.db.numThreads = 12
slick.dbs.default.db.connectionTestQuery="select 1"

每当我的应用程序试图与数据库通信时,它都会得到这样的错误:

代码语言:javascript
复制
play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[SQLTimeoutException: Timeout after 15001ms of waiting for a connection.]]
    at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265) ~[play_2.11-2.4.3.jar:2.4.3]

我已经检查到mysql正在侦听端口3306。有一个mysqld服务正在运行。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2016-12-04 18:03:33

将slick.dbs.default.db.username更改为slick.dbs.default.db.user。

Hikari连接池仅在调试级别记录错误的用户名登录尝试,否则会失败并静默超时。

尝试在logback.xml中将com.zaxxer.hikari设置为DEBUG以查看错误。

票数 2
EN

Stack Overflow用户

发布于 2018-11-01 12:10:55

这可能对遇到类似超时错误的人很有帮助:

代码语言:javascript
复制
[SQLTransientConnectionException: db - Connection is not available, request timed out after 1000ms.]

按照@Kairius所说的,我在我的logback.xml文件中启用了com.zaxxer.hikari日志:

代码语言:javascript
复制
<logger name="com.zaxxer.hikari" level="DEBUG" />

当play-slick evolutions试图在我的应用程序启动时建立连接时,我得到了以下错误(众多连接之一):

代码语言:javascript
复制
java.sql.SQLException: The server time zone value 'COT' is unrecognized or
represents more than one time zone.

我通过将?serverTimezone=UTC添加到我的连接字符串中修复了这个问题,如下所示:

代码语言:javascript
复制
 slick.dbs.default {
  profile = "slick.jdbc.MySQLProfile$"
  db {
    driver = com.mysql.cj.jdbc.Driver
    url = "jdbc:mysql://localhost:3306/eventos?serverTimezone=UTC"
    user =root
    password =root
  }
}

我正在使用MySQL 8.0.13,下面是我的sbt依赖项:

代码语言:javascript
复制
libraryDependencies += "com.typesafe.play" %% "play-slick" % "3.0.1"
libraryDependencies += "com.typesafe.play" %% "play-slick-evolutions" % "3.0.1"
libraryDependencies += "mysql" % "mysql-connector-java" % "8.0.13"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34152283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档