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


8

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

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

Ответы:


9

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

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

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


7
use mysql;

select Host,User from user;

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


Я проголосовал за это один, потому что он не делает то, что я имел в виду под подстановочным знаком, хотя я признаю, что, возможно, я виноват в том, что не был достаточно ясен заранее. Это могло бы быть истолковано как все, когда то, что я хотел, было эквивалентно `find -name 'user *' для имени файла в unix.
ксенотеррацид
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.