我在远程服务器上运行 MySQL,它突然开始拒绝所有连接:
$ mysql -h 192.168.1.10 -u root -p
ERROR 1129 (00000): Host 'web' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
因此,我尝试这个flush-hosts
命令......
$ mysqladmin flush-hosts -h 192.168.1.10 -u root -p
mysqladmin: connect to server at '192.168.1.10' failed
error: 'Host 'web' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts''
即它阻止了它推荐的解除阻止工具。我做错了吗,还是我必须求助于 ssh/cpanel/物理访问?
答案1
首先,您确实需要确定谁以及为什么建立那么多连接,因此您无论如何都需要使用 ssh 连接来检查所有相关日志(可能在 /var/log/mysql/error.log 中)
如果连接是合法的,您可能需要增加max_connections
/etc/my.cnf 中的指令,或者查看是否可以改进发送到服务器的 SQL 查询,以便不会留下太多的连接处于打开状态。
如果它们不合法,您就需要加强安全性。
由于您已经使用 ssh 登录来检查日志,因此从本地主机刷新连接。