mysql连接错误 errorCode 0, state 08S01
一开始遇到这个问题的时候,在网上查的都是在连接数据库处添加useSSL=false
spring.datasource.url=jdbc:mysql://localhost:3306/xxx?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
但是我本来就带有useSSL对应的值
环境:centos7
,mysql8.0.33
,jdk1.8
背景:通过命令可以登录MySQL
,而且用命令systemctl status mysql
,显示mysql
的状态也是running
运行中
解决方法
- 停止mysql:
service mysql stop
- 重新启动:
service mysql start
- 查看是否启动成功:
systemctl status mysql
- 再次重新启动服务就可以了
连接mysql报错 errorCode 1129, state HY000, Host ‘xxx‘ is blocked because of many connection errors
springcloud项目启动连接mysql过程中报错。
报错关键信息如下:
java.sql.SQLException: null, message from server: "Host '192.168.56.1' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
错误原因
mysql设定了单个客户端最大连接失败次数,超过后便无法再连接成功。
可命令行查看:最大失败数为100.
解决方法
1.进入mysql控制台,修改max_connect_errors:
set global max_connect_errors=99999;
若想永久生效,去my.conf文件手动添加或修改该行命令。
但方法1不推荐,修改该数值越大,被攻击时安全性越低。
2.进入mysql控制台,把缓存计数清除掉,重启项目即可:
flush hosts;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。