我想阻止远程服务器访问MySQL,并希望得到这个错误“由于许多连接错误而被阻塞;使用'mysqladmin flush-hosts‘解除阻塞”。
如何在MySQL中以这种方式阻止用户?从远程服务器连接到服务器是否需要多次点击,直到被阻塞?也不知道能做什么。
另外,在这种情况下,当用户被阻塞时,MySQL数据库中的哪个参数会更改?
有人能帮上忙吗?
发布于 2014-08-06 15:29:46
您可以撤销用户从特定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、用户名@ local 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网页(Setting Account Resource Limits和GRANT Syntax)上找到。
https://stackoverflow.com/questions/25154289
复制相似问题