原因

mysql连接错误

复现

  • 启动服务
  • 请求接口,调用mysql获取数据
  • stop mysql
  • 请求接口报错
  • 启动mysql
  • 请求接口,未自动恢复,仍报错Communications link failure

解决方案

使用DruidDataSource使用com.mysql.jdbc.Driver

当创建失败时,会通过com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread循环创建连接,间隔时间为timeBetweenConnectErrorMillis直到获取到正常的连接

使用DruidDataSource使用com.p6spy.engine.spy.P6SpyDriver

未重新创建连接,故调整为com.mysql.jdbc.Driver解决问题