我经历过这里列出的类似案例,但似乎不起作用。
我使用 MySQL Workbench 与托管在另一台服务器上的数据库建立连接。尝试了几次,无法连接,然后出现此错误。我很困惑我应该在哪里进行冲水。关于PhpMyadmin下的SQL查询?因为当我尝试输入以下命令时,它返回语法错误。我使用的是 Windows 操作系统,因此也没有 shell 脚本可供我输入此信息。我现在通过 Cpanel/ phpmyadmin 临时访问数据库。
请帮助告诉我应该在哪里输入这些数据以及我的语法是否错误。感谢帮助。
mysqladmin flush-hosts;
or
mysqladmin -umyname -pmypassword flush-hosts;
我的错误信息如下:
无法使用用户 myName 连接到位于 192...* 的 MYSql
主机“host-92...*.as13285.net”因连接过多而被阻止 错误;使用“mysqladminlush-hosts”解锁
mysqladmin
不是 SQL 语句。这是一个小帮助实用程序,您可以在 MySQL 服务器上找到...而“flush-hosts”就是它可以做的事情之一。 (“状态”和“关闭”是我想到的其他一些事情)。
您可以在 shell 提示符下键入该命令。
或者,从您的查询浏览器(例如 phpMyAdmin),您要查找的 SQL 语句很简单:
FLUSH HOSTS;
您应该将其放入 Windows 的命令行中。
mysqladmin -u [username] -p flush-hosts
**** [MySQL password]
或
mysqladmin flush-hosts -u [username] -p
**** [MySQL password]
对于网络登录,请使用以下命令:
mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [YOUR RDS 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";
您可以轻松地重新启动您的 MySql 服务。这会引发错误。
我遇到了类似的问题,在使用本地 dbeaver 连接到 mysql RDS 生产服务器时,我遇到了
"Host 'xx.xx.xx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
。
我通过从生产子网中的 EC2 运行以下命令来解决该问题
首先我在ec2上安装了mysql客户端
sudo yum install mysql
然后我执行以下命令来刷新主机
mysql -h <host-name> -P <port> -u <username> --database=<database-name> -p -e "FLUSH HOSTS;"
之后我就能够从 dbeaver 成功连接到 mysql RDS。