1

我想阻止远程服务器访问 MySQL,并希望得到此错误“由于许多连接错误而被阻止;使用 'mysqladmin flush-hosts' 解除阻止”。

我如何在 MySQL 中以这种方式阻止用户?我是否需要多次访问服务器以从远程服务器连接,直到它被阻止?或者可以做什么。

在这种情况下,当用户被阻止时,MySQL 数据库中的哪个参数会更改字段?

任何人都可以帮忙吗?

4

1 回答 1

0

您可以撤销用户从特定 IP 连接的权限。

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'123.123.123.123';

或者

DELETE FROM mysql.user WHERE User='USERNAME' AND Host NOT IN ('localhost', '127.0.0.1', '::1');

如果您将权限减少到 USERNAME@localhost,则只能进行本地连接。只要确保您实际上至少有一个本地条目(用户名@localhost、用户名@127.0.0.1、用户名@[本地 IPv6]),否则您将无法再次登录。

确保通过调用更改权限后应用权限

FLUSH PRIVILEGES;

要限制每个 user@host 组合的连接数量,您可以向 GRANT 命令添加其他设置:

GRANT ALL ON customer.* TO 'USERNAME'@'123.123.123.123'
     WITH MAX_QUERIES_PER_HOUR 0
          MAX_UPDATES_PER_HOUR 0
          MAX_CONNECTIONS_PER_HOUR 0
          MAX_USER_CONNECTIONS 0;

可以在 mysql 网页上找到更多信息(设置帐户资源限制GRANT 语法

于 2014-08-06T07:29:46.357 回答