MySQLユーザーがシステムに存在するかどうかを確認するにはどうすればよいですか?


8

show grants for 'username'@'localhost''ユーザー名が少し異なると思うので、ユーザーを見つけることができません。そのため、すべてのデータベースユーザーのワイルドカード検索を実行したいと考えています。これどうやってするの?

更新:明確にするため、多分私は100%明確にしていないと思います。ワイルドカードによって、ユーザー名の一部のみ、または名前がパターンに一致するすべてのユーザーを検索できるようにしたいと思いました。5k以上のユーザーがいるシステムでこれが必要だったので、パフォーマンスの低下はそれほど大きくはありませんが、一度に1つずつ確認したくありません。

回答:


9

@matthewh回答のおかげで、多数のユーザーを検索するときに機能するクエリを作成することができました。

use mysql;
select  User, Host from  user where User like 'user%';

注: <user>検索する必要があるユーザー名のコンポーネントです。ユーザー名の先頭がわからない場合は、両側に%が必要になることがあります。また、<>は単に変数をメモするだけなので、含めないでください。ユーザー名に<または>が含まれていない限り、実際のクエリ。


7
use mysql;

select Host,User from user;

そのサーバー上のすべてのMySQLユーザーを提供します。


私はこれを下の方に投票しました。ワイルドカードによって私が意味することを行わないからです。私が欲しかったのは、UNIX上のファイル名の `find -name 'user *'と同等であった場合、それはすべてとして解釈された可能性があります。
xenoterracide 2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.