从以上可以看出,我在数据库连接上遇到了问题,它给了我这个错误:
由于多次连接错误而被阻止
我找了一些答案,但没能解决我的问题。
我不知道是否提供了你所需要的所有信息,如果你需要其他信息,请告诉我。我有来自不同计算机的数据库连接,并创建了一个用户来访问数据库,但是由于“%”在主机行中,我想把它更改为IP地址以解决安全问题,结果导致我现在卡住了。
从以上可以看出,我在数据库连接上遇到了问题,它给了我这个错误:
由于多次连接错误而被阻止
我找了一些答案,但没能解决我的问题。
我不知道是否提供了你所需要的所有信息,如果你需要其他信息,请告诉我。我有来自不同计算机的数据库连接,并创建了一个用户来访问数据库,但是由于“%”在主机行中,我想把它更改为IP地址以解决安全问题,结果导致我现在卡住了。
为保护MySQL免受连接错误的影响,它会阻止出现错误的客户端。
因此,首先需要找出出现了什么样的错误...
您可以检查数据目录中的MySQL错误日志(通常是hostname.err)。
或者,您可以增加max_connect_errors
的值(当前值是多少?)最大值取决于架构。在32位上为4294967295,在64位上为18446744073709547520。(手册)
mysql> SET GLOBAL max_connect_errors = 100000000;
但是如果错误经常发生,这并不是真正的解决方案。
FLUSH HOSTS
现在可以帮助您消除被阻止的主机。
mysql> FLUSH HOSTS;
如果想要在外部运行MySQL控制台,则可以使用mysqladmin命令:
# mysqladmin flush-hosts
max_connection_errors
的默认值只有10。我猜测在你刷新之后,它达到了10。(但我不确定...)建议增加 max_connection_errors
。http://dev.mysql.com/doc/refman/5.5/en/blocked-host.html - Jason Heomysqladmin -u username -p flush-hosts
。 - BadHorsie首先使用以下命令清除本地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;
使用命令检查真实性 -
show variables like "max_connections";
show variables like "max_connect_errors";