如何搜索以查看系统上是否存在 MySQL 用户?

xen*_*ide 8 mysql

我没有找到用户,show grants for 'username'@'localhost''因为我认为用户名可能略有不同,所以我想对所有数据库用户进行通配符搜索。我怎样才能做到这一点?

更新:为了澄清,我想也许我还没有 100% 清楚。通过通配符,我的意思是我希望能够仅搜索用户名的一部分,或者名称与模式匹配的所有用户。在我需要这个的系统上,有 5k+ 用户,虽然这不是巨大的性能损失,但我也不想一次查看它们。

xen*_*ide 9

感谢@matthewh回答,我设法编写了一个可以在搜索大量用户时起作用的查询:

use mysql;
select  User, Host from  user where User like 'user%';
Run Code Online (Sandbox Code Playgroud)

注意: <user>是您需要搜索的用户名的任何组成部分,如果您不知道用户名的开头,您可能需要在两边加一个 %,而且 <> 只是为了注意变量,不要将它们包含在实际查询,除非用户名包含 < 或 >。


Mat*_*aly 7

use mysql;

select Host,User from user;
Run Code Online (Sandbox Code Playgroud)

将为您提供该服务器上的所有 MySQL 用户。