Mysql 删除用户并授予多个主机

Wer*_*ner 5 mysql grant

我向我的 mysql-db 添加了一个用户,并授予从多个主机访问的权限,例如:

GRANT ALL PRIVILEGES ON `db`.* TO 'dbuser'@'host1';
GRANT ALL PRIVILEGES ON `db`.* TO 'dbuser'@'host2';
GRANT ALL PRIVILEGES ON `db`.* TO 'dbuser'@'host3';
GRANT ALL PRIVILEGES ON `db`.* TO 'dbuser'@'host4';
....
Run Code Online (Sandbox Code Playgroud)

完全删除用户的最短方法是什么?我试过:

drop user 'dbuser'@'%';
ERROR 1396 (HY000): Operation DROP USER failed for 'dbuser'@'%'

drop user 'dbuser';
ERROR 1396 (HY000): Operation DROP USER failed for 'dbuser'@'%'

show grants for 'dbuser';
ERROR 1141 (42000): There is no such grant defined for user 'dbuser' on host '%'
Run Code Online (Sandbox Code Playgroud)

我想, % wouzld 被视为通配符。Butr似乎是为每个主机删除用户的唯一方法,例如:

drop user 'dbuser'@'host1';
drop user 'dbuser'@'host2';
drop user 'dbuser'@'host3';
...
Run Code Online (Sandbox Code Playgroud)

没有更方便的方法来删除用户吗?

小智 0

如果您使用 MySQL >= 5.0.2,您可以删除帐户及其权限,如下所示:

DROP USER 用户;

该语句从所有授权表中删除该帐户的权限行。

(来自: https: //dev.mysql.com/doc/refman/5.0/en/drop-user.html

  • 虽然这是事实,但这并不是问题的答案。从您链接到的页面:“如果您仅指定帐户名的用户名部分,则使用主机名部分‘%’。” 问题是如何删除所有具有相同名称但主机部分不同的用户。 (3认同)