myqsl连接不上--原因:错误连接数过多
这两天接手一个项目,数据库是mysql,然后服务大概六七个。服务启动的时候提示数据库连接不上,就是数据包收不到。
开是排查原因:
server
- 检查mysql服务,登录服务器,发现服务没挂;
- 从服务器直接执行sql,也没问题,说明MySQL服务正常;
- 检查数据库连接数,也没发现异常;show status like 'Threads%';
client
- 检查客户端和服务通信 ping 服务器,是通的
- 检查端口 telnet ,提示 :blocked because of many connection errors
原因找到,错误连接数过多,因为本地服务较多,全部连mysql,mysql为了防止攻击,max_connection_errors 默认是10
解决办法:
- 进入数据库将max_connection_errors参数调高,也可以在my.cnf文件中修改不过需要重启MySQL。
show global variables like '%max_connect_errors%';
set global max_connect_errors=1000;
- mysqladmin -uroot -p -h192.168.1.1 flush-hosts
or 执行:flush hosts;