我想阻止远程服务器访问 MySQL,并希望得到此错误“由于许多连接错误而被阻止;使用 'mysqladmin flush-hosts' 解除阻止”。
我如何在 MySQL 中以这种方式阻止用户?我是否需要多次访问服务器以从远程服务器连接,直到它被阻止?或者可以做什么。
在这种情况下,当用户被阻止时,MySQL 数据库中的哪个参数会更改字段?
任何人都可以帮忙吗?
我想阻止远程服务器访问 MySQL,并希望得到此错误“由于许多连接错误而被阻止;使用 'mysqladmin flush-hosts' 解除阻止”。
我如何在 MySQL 中以这种方式阻止用户?我是否需要多次访问服务器以从远程服务器连接,直到它被阻止?或者可以做什么。
在这种情况下,当用户被阻止时,MySQL 数据库中的哪个参数会更改字段?
任何人都可以帮忙吗?
您可以撤销用户从特定 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;