Hikari连接池报错,排查方向

### 如果Hikari连接池遇到Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl问题注意从下面三个方向排查。

1. Hikari连接池的max-lifetime(默认30分钟)(对应springboot中的spring.datasource.hikari.max-lifetime)是否大于了MySQL中 wait_timeout 和 interactive_timeout (默认8小时)。

2. 检查MySQL服务的/etc/my.cnf配置文件中 wait_timeout 和 interactive_timeout 两个超时时间是否和通过sql SHOW VARIABLES LIKE ‘%timeout%’查出的结果一致。

   1. wait_timeout 服务器关闭非交互连接之前等待活动的秒数

   2. interactive_timeout 服务器关闭交互式连接前等待活动的秒数,同时设置interactive_timeout和wait_timeout才会生效

3. 检查是否和笔者的情况一下,dba为了节约连接资源,通过脚本定时清理了长时间没有请求的连接。

4. 查当前的连接数量,设置最大连接数量

    1. show status like ‘max_used_connections’;

    2. show processlist; // 连接明细

    3. set global max_connections=1000;  // 设置

    4. 通过修改配置文件来修改mysql最大连接数(max_connections)。只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000

    5. kill id; // 关闭指定连接