可以检查mysql服务端wait_timeout配置【服务器关闭非交互连接之前等待活动的秒数,比如jdbc属于此类连接】,如果小于8小时,可以适当配大些;配置druid连接检测,配置testWhileIdle=true 和timeBetweenEvictionRunsMillis=2000(默认1分钟),在连接空闲时每隔2秒钟进行检测。
手动在服务器运行mysql命令进行连接,看看在服务器的网络环境中是否能连接成功,如果navicat秒进,说明服务正常。如果服务器timeout,则应该尝试看是否是网络问题。