生产容器环境MySQL连接问题

Blade 未结 2 855

boot版本,生产容器环境部署之后,隔一段时间后端就报数据库连接不上,错误如下:  


### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 500, creating 1, createElapseMillis 6203913


2022-10-23 13:00:00.880 [Druid-ConnectionPool-Create--720570992] [] [com.alibaba.druid.pool.DruidDataSource] 

ERROR: create connection SQLException, url: jdbc:mysql://10.2.0.9:31779/ems?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true, errorCode 0, state 08S01

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

 at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)

 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)

 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)

 at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)

 at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)

 at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)

 at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156)

 at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:787)

 at com.alibaba.druid.filter.FilterEventAdapter.connection_connect(FilterEventAdapter.java:38)

 at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150)

 at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1654)

 at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1718)

 at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2792)

Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.



我查了一下资料,有人说是我们德鲁伊版本的问题。以下是链接:

https://zhuanlan.zhihu.com/p/368683245

2条回答
  • 2022-10-26 00:43

    这应该是mysql本身延时配置的问题,参考一下这个帖子的三种方法试试看:https://www.jianshu.com/p/e27793db12d9

    或者你也可以升级一下druid的版本号,然后再打包试试看

    0 讨论(0)
  • 2022-11-30 15:26

    解决了吗,遇到了同样的问题

    0 讨论(0)
提交回复