Как мне найти, чтобы увидеть, существует ли в системе пользователь MySQL?

8

Я не нахожу пользователя show grants for 'username'@'localhost'', потому что думаю, что, возможно, имя пользователя немного отличается, поэтому я хочу сделать поиск по шаблону для всех пользователей базы данных. Как я могу это сделать?

Обновление: для уточнения, как я думаю, может быть, я не был на 100% ясен. под подстановочным знаком я подразумевал, что хочу иметь возможность искать только часть имени пользователя или всех пользователей, чье имя соответствует шаблону. В системе, в которой мне это было нужно, было более 5 тысяч пользователей, и хотя это не сильно сказывалось на производительности, я тоже не хочу просматривать их по одному.

xenoterracide
источник

Ответы:

9

Благодаря @matthewh «s ответ мне удалось составить запрос , который будет работать при поиске через большое количество пользователей:

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

Примечание: <user> какой бы компонент имени пользователя вы не искали, вам может понадобиться% с обеих сторон, если вы не знаете начало имени пользователя, также <> просто для того, чтобы отметить переменную, не включайте их в фактический запрос, если имя пользователя не содержит <или>.

xenoterracide
источник
7
use mysql;

select Host,User from user;

даст вам всех пользователей MySQL на этом сервере.

Мэтт Хили
источник
Я проголосовал за это один, потому что он не делает то, что я имел в виду под подстановочным знаком, хотя я признаю, что, возможно, я виноват в том, что не был достаточно ясен заранее. Это могло бы быть истолковано как все, когда то, что я хотел, было эквивалентно `find -name 'user *' для имени файла в unix.
ксенотеррацид