正如您所看到的,我在数据库连接上遇到了问题。它给了我这个错误:
由于许多连接错误,...被阻止
我搜索了一些答案,但我无法解决我的问题。
我不知道我是否提供了您需要的所有信息,所以如果您需要其他信息,请告诉我。我有来自不同计算机的数据库连接,我创建了一个用户来访问数据库但是在主机行中有%
,所以我想用IP地址更改它以解决安全问题,它给了我这个错误所以现在我被卡住了。
答案 0 :(得分:26)
MySQL会阻止客户端在连接时发生错误,以保护MySQL免受格式错误的客户端的攻击。</ p>
首先,你需要找到什么样的错误......
您可以检查数据目录中的MySQL错误日志。 (通常 hostname.err )
或者,您可以增加max_connect_errors
(什么是当前值?)最大值取决于体系结构。在32位,4294967295。用于64位的18446744073709547520。 (Manual)
mysql> SET GLOBAL max_connect_errors = 100000000;
但如果经常发生错误,这不是真正的解决方案。
FLUSH HOSTS
可以帮助您立即消除被阻止的主机。
mysql> FLUSH HOSTS;
如果想从外部mysql控制台运行,请使用mysqladmin命令:
# mysqladmin flush-hosts
答案 1 :(得分:1)
首先使用以下命令刷新本地MySQL:
mysqladmin -u [username] -p flush-hosts
**** [MySQL password]
或
mysqladmin flush-hosts -u [username] -p
**** [MySQL password]
网络MySQL服务器:
mysqladmin -h <ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
另外的建议 您可以通过编辑永久解决阻止多个连接错误问题 my.ini文件[Mysql配置文件]
更改变量max_connections = 10000;
或
使用命令行登录MySQL -
mysql -u [username] -p
**** [MySQL password]
将以下命令放入MySQL窗口
SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;
使用command-
检查veritableshow variables like "max_connections";
show variables like "max_connect_errors";