¿Cómo busco para ver si existe un usuario MySQL en el sistema?


8

No encuentro un usuario porque show grants for 'username'@'localhost''creo que tal vez el nombre de usuario es ligeramente diferente, por lo que quiero hacer una búsqueda comodín de todos los usuarios de la base de datos. ¿Cómo puedo hacer esto?

Actualización: para aclarar, ya que estoy pensando que tal vez no he sido 100% claro. por comodín quería decir que quería poder buscar solo una parte del nombre de los usuarios, o todos los usuarios cuyo nombre coincide con el patrón. En el sistema que necesitaba esto había más de 5k usuarios, y aunque eso no es una gran pérdida de rendimiento, tampoco quiero revisarlos uno a la vez.

Respuestas:


9

Gracias a la respuesta de @matthewh , logré componer una consulta que funcionaría al buscar en una gran cantidad de usuarios:

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

Nota: <user> es cualquier componente del nombre de usuario que necesite buscar, puede necesitar un% en ambos lados si no conoce el inicio del nombre de usuario, también <> son simplemente para tener en cuenta la variable, no los incluya en una consulta real, a menos que el nombre de usuario incluya <o>.


7
use mysql;

select Host,User from user;

le dará todos los usuarios de MySQL en ese servidor.


He votado a favor, porque no hace lo que quise decir con comodín, aunque reconozco que puede haber sido mi culpa por no ser lo suficientemente claro por adelantado. Podría haber sido interpretado como todo cuando lo que quería era el equivalente de 'find -name' user * 'para un nombre de archivo en Unix.
xenoterracide
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.