为什么MySQL连接被许多连接错误阻止?
-
21-12-2019 - |
题
正如你所看到的,我在数据库连接上遇到了问题。它给了我这个错误:
...由于许多连接错误而被阻止
我搜索了一些答案,但我无法解决我的问题。
不知道我是否提供了你需要的所有信息,所以如果你需要别的东西,就告诉我。我有一个来自不同计算机的数据库连接,我创建了一个用户来访问数据库,但它有 %
在主机行中,所以我想用一个ip地址来改变它的安全问题,它给了我这个错误,所以现在我被卡住了。
解决方案
MySQL阻止在连接时出错的客户端,以保护MySQL不受格式错误的客户端的影响.
所以首先,你需要找到什么样的错误。...
您可能会检查数据目录中的MySQL错误日志。(通常 主机名。错误)
或者,你可以增加 max_connect_errors
(什么是当前值?)最大值取决于体系结构。在32位,4294967295。18446744073709547520为64位.(手册)
mysql> SET GLOBAL max_connect_errors = 100000000;
但是,如果经常发生错误,这不是真正的解决方案。
FLUSH HOSTS
可以帮助您立即消除阻塞的主机。
mysql> FLUSH HOSTS;
如果要从mysql控制台外部运行,请使用mysqladmin命令:
# mysqladmin flush-hosts
其他提示
首先使用以下命令刷新本地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
在额外的建议 您可以通过编辑永久解决许多连接错误问题 我的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";
不隶属于 StackOverflow