原因
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解决问题