启动项目后也看到报:SQLException: null, message from server: "Host '10.112.71.80' is blocked because of many conne
这一类异常翻译来看是由于多次连接错误,导致该ip(本机)请求被禁,其他电脑请求没什么问题
这里面有详细的解释
登录你的服务器,分别输入以下命令
mysql -u root -p
show variables like 'max_connect_errors';
flush hosts;
注意:服务器系统分用户,所以尽量切换到root用户,然后在mysql中也需要root用户才能有flush的权限不然的话报Access denied; you need (at least one of) the RELOAD privilege(s) for this operation错误.
其中mysqlroot用户的密码需要向最初部署该服务器的哥们要,如果是你自己部署的那你就直接登录就好.
出现
才代表flush成功 ;
但是此时问题是解决了,但是下次大概率已经回报这个错误,只要的本机ip一直保持不变的情况下
[1152]Mysql报错:message from server: * is blocked because of many_周小董的博客-CSDN博客
可以从上面这篇博客上看的到他把原本默认最大错误连接率从100改成了1000;
但是就算你改成了1000;等你该完成之后,等错误数达到1000 以后依旧会报这个错误;你依旧需要去服务器刷新,这样过于麻烦,所以就需要搞清楚问题出在哪里,什么原因导致的.
以上这篇博文指出是由于服务器中程序时间与mysql服务的时间不同意导致,当然可能也是一个原因.
我这边请教了一下数据运维的同事,同事说这服务器中的数据库搭建不规范
然后他重启了一下数据库,并且他看到数据库中一直报这个错误
所以他就确定是SSL限制,获取不到SSL的句柄,所以就需要把数据库的SSL功能给关闭了
这样就好了,无论秦东多少次依旧是不会报错的
再看一下这篇文章,大概就明白了
附当数据库连接报1040'Too many connections'的原因以及解决方案