如何使用 mysqladmin 刷新主机解锁

问题描述 投票:0回答:4

我经历过这里列出的类似案例,但似乎不起作用。

我使用 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”解锁

mysql mysql-workbench
4个回答
166
投票

mysqladmin
不是 SQL 语句。这是一个小帮助实用程序,您可以在 MySQL 服务器上找到...而“flush-hosts”就是它可以做的事情之一。 (“状态”和“关闭”是我想到的其他一些事情)。

您可以在 shell 提示符下键入该命令。

或者,从您的查询浏览器(例如 phpMyAdmin),您要查找的 SQL 语句很简单:

FLUSH HOSTS;

http://dev.mysql.com/doc/refman/5.6/en/flush.html

http://dev.mysql.com/doc/refman/5.6/en/mysqladmin.html


44
投票

您应该将其放入 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";

4
投票

您可以轻松地重新启动您的 MySql 服务。这会引发错误。


0
投票

我遇到了类似的问题,在使用本地 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。

© www.soinside.com 2019 - 2024. All rights reserved.