utilisateurs - supprimer utilisateur mysql




Comment obtenir une liste de comptes d'utilisateurs MySQL (10)

J'utilise l'utilitaire de ligne de commande MySQL et je peux naviguer dans une base de données. Maintenant, j'ai besoin de voir une liste de comptes d'utilisateurs. Comment puis-je faire ceci?

J'utilise MySQL version 5.4.1 .


Connectez-vous à mysql en tant que root et tapez la requête suivante

select User from mysql.user;

+------+
| User |
+------+
| amon |
| root |
| root |
+------+

J'ai trouvé son un plus utile car il fournit des informations supplémentaires sur les privilèges DML et DDL

SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv, 
       Create_priv, Drop_priv, Shutdown_priv, Create_user_priv 
FROM mysql.user;

Je trouve ce format le plus utile car il inclut le champ hôte qui est important dans MySQL pour distinguer les enregistrements utilisateur.

select User,Host from mysql.user;

La table mysql.db est peut-être plus importante pour déterminer les droits de l'utilisateur. Je pense qu'une entrée est créée si vous mentionnez une table dans la commande GRANT. Dans mon cas, la table mysql.users n'a montré aucune permission pour un utilisateur quand il était évident qu'il pouvait se connecter et sélectionner, etc.

mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host          | Db              | User   | Select_priv | Insert_priv | Update_priv | Del...

Peter et Jesse sont corrects mais assurez-vous d'abord de sélectionner la base de données mysql.

use mysql;

select User from mysql.user;

ça devrait faire ton truc


Si vous faites référence aux utilisateurs actuels de MySQL, essayez:

select User from mysql.user;

Utilisez cette requête:

SELECT User FROM mysql.user;

Ce qui produira une table comme ceci:

+-------+
| User  |
+-------+
| root  |
+-------+
| user2 |
+-------+

Comme Matthew Scharley le fait remarquer dans les commentaires sur cette réponse , vous pouvez regrouper par la colonne User si vous souhaitez seulement voir des noms d'utilisateur uniques.


Voici afficher la liste des utilisateurs uniques.

SELECT DISTINCT User FROM mysql.user;

$>  mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt

L'exécution de cette commande sur l'invite linux demandera d'abord le mot de passe de l'utilisateur racine mysql, en fournissant le mot de passe correct, il affichera tous les utilisateurs de la base de données dans le fichier texte.


SELECT * FROM mysql.user;

C'est une grande table, alors vous pourriez vouloir être plus sélectif sur les champs que vous choisissez.





mysql5