原因
1.因为SSL连接原因(大部分人的原因)
因为MySQL在高版本需要指明是否进行SSL连接。有可能你 pom 文件引入的 MySQL 依赖版本是MySQL5.7及以上 这些的时候,你就需要指定SSL连接,如果你不知道,默认就是开启,所以就会出现上面的错误。
2.因为数据库连接超时原因
当数据库重启或数据库空闲连接超过设置的最大timemout时间,数据库会强行断开已有的链接。
注意: 如果出现下面错误也可以试一下这个错的解决方法
No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
解决
1.只需要设置useSSL=false来禁用SSL
例如:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
SSL作用
在MySQL5.7之前的版本,安全性较低,存在任何用户都可以连接上数据库,所以官方在5.7版本加大了对隐私的保护。并且采用了默认 useSSL = true值防止对数据库的随意修改,到了8.0版本,仍然保留了SSL,并且默认值为 true。
2.超时解决
Ⅰwindows系统
配置 MySQL 的 my.ini
文件的 interactive_timeout=388000和wait_timeout=388000 属性。
Ⅱ linux
系统下需要去mysql的安装目录查看my.cnf文件,然后修改同样的属性。
来源地址:https://blog.csdn.net/twotwo22222/article/details/128616885