我想阻止远程服务器访问MySQL,并希望将此错误“阻止,因为许多连接错误;使用'mysqladmin flush-hosts'解锁”。
如何在MySQL中以这种方式阻止用户?我需要多次点击服务器从远程服务器连接,直到它被阻止?或者可以做些什么。
在这种情况下,当用户被阻止时,MySQL数据库中的哪个参数会改变字段?
有人可以帮忙吗?
答案 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 Limits和GRANT Syntax)