Comment rechercher pour voir si un utilisateur MySQL existe sur le système?

8

Je ne trouve pas d'utilisateur show grants for 'username'@'localhost''car je pense que le nom d'utilisateur est peut-être légèrement différent, donc je veux faire une recherche générique de tous les utilisateurs de la base de données. Comment puis-je faire ceci?

mise à jour: pour clarification, car je pense que je n'ai peut-être pas été clair à 100%. par caractère générique, je voulais dire que je voulais pouvoir rechercher uniquement une partie du nom des utilisateurs ou tous les utilisateurs dont le nom correspond au modèle. Sur le système dont j'avais besoin, il y avait 5k + d'utilisateurs, et bien que ce ne soit pas une perte de performance énorme, je ne veux pas non plus les parcourir un par un.

xénoterracide
la source

Réponses:

9

Merci à @matthewh de réponse Je réussi à composer une requête qui fonctionnerait lors de la recherche à travers un grand nombre d'utilisateurs:

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

Remarque: <user> quel que soit le composant du nom d'utilisateur que vous devez rechercher, vous devrez peut-être un% des deux côtés si vous ne connaissez pas le début du nom d'utilisateur, <> ne font que noter la variable, ne les incluez pas dans une requête réelle, sauf si le nom d'utilisateur inclut <ou>.

xénoterracide
la source
7
use mysql;

select Host,User from user;

vous donnera tous les utilisateurs MySQL sur ce serveur.

Matt Healy
la source
J'ai voté contre, car il ne fait pas ce que je voulais dire par caractère générique, bien que je reconnaisse que c'est peut-être de ma faute de ne pas avoir été assez clair à l'avance. Il aurait pu être interprété comme tout alors que ce que je voulais était l'équivalent de "find -name 'user *" pour un nom de fichier sous unix.
xenoterracide