在Mysql中阻止主机名

时间:2014-08-06 07:11:06

标签: mysql block remote-access remote-server mysqladmin

我想阻止远程服务器访问MySQL,并希望将此错误“阻止,因为许多连接错误;使用'mysqladmin flush-hosts'解锁”。

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

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

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以撤消用户的特权以从特定IP进行连接。

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

OR

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

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

确保在通过调用

更改权限后应用权限
FLUSH PRIVILEGES;

要限制每个用户@主机组合的连接数量,您可以向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网页上找到(Setting Account Resource LimitsGRANT Syntax