J'utilise l'utilitaire de ligne de commande MySQL et je peux naviguer dans une base de données. Maintenant, je dois voir une liste de comptes d'utilisateurs. Comment puis-je faire ceci?
J'utilise la version MySQL 5.4.1
.
mysql
command-line
mysql5
burntsugar
la source
la source
Réponses:
Utilisez cette requête:
Qui affichera un tableau comme celui-ci:
Comme le souligne Matthew Scharley dans les commentaires sur cette réponse , vous pouvez regrouper par
User
colonne si vous souhaitez uniquement voir des noms d'utilisateur uniques.la source
User
aussi, pour obtenir uniquement des valeurs utilisateur uniques, car il y a une ligne distincte pour chaque entréeuser
@host
.DELETE FROM mysql.user;
mieuxWHERE user='someuser' and host='somehost';
Si vous le faitesDELETE FROM mysql.user;
, tous les utilisateurs ont disparu. Les connexions après le prochain redémarrage de mysql ouFLUSH PRIVILEGES;
éliminer les utilisateurs de la mémoire. Voici un exemple de l'un de mes messages sur la façon de faire de manièreDELETE FROM mysql.user
responsable: dba.stackexchange.com/questions/4614/…SHOW GRANTS FOR 'user'@'host';
DISTINCT
mot-clé:SELECT DISTINCT user 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 d'utilisateurs.
la source
host
entrera-t-il en jeu lorsque vous travaillerez avec des bases de données mysql? [Mysql Noob]host
entre en jeu lorsque vous vous connectez à partir d'un autre serveur. Il est possible d'accorder un accès différent à'packer'@'example.com'
et'packer'@'google.com'
Un compte utilisateur comprend le nom d'utilisateur et l'accès au niveau de l'hôte.
Par conséquent, c'est la requête qui donne à tous les comptes d'utilisateurs
la source
user@host
format est utilisé pour définir les mots de passe. Omettre l'hôte de laSET PASSWORD
commande génère une erreur.SET PASSWORD FOR wordpressuser = PASSWORD('...');
produit l'erreurERROR 1133 (42000): Can't find any matching row in the user table
. Incluez l'hôte et cela fonctionne.SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');
produitQuery OK, 0 rows affected (0.00 sec)
.ORDER BY user
.pour éviter les répétitions d'utilisateurs lorsqu'ils se connectent d'origine différente:
la source
MySQL stocke les informations utilisateur dans sa propre base de données. Le nom de la base de données est
MySQL
. À l'intérieur de cette base de données, les informations utilisateur se trouvent dans une table, un ensemble de données, nomméuser
. Si vous souhaitez voir quels utilisateurs sont configurés dans la table d'utilisateurs MySQL, exécutez la commande suivante:la source
Si vous faites référence aux utilisateurs réels de MySQL, essayez:
la source
C'est un grand tableau, vous voudrez peut-être être plus sélectif sur les champs que vous choisissez.
la source
localhost
,127.0.0.1
et::1
. Laquelle dois-je conserver et que dois-je supprimer? Merci!Connectez-vous à mysql en tant que root et tapez la requête suivante
la source
GRANT SELECT ON mysql.user TO 'user1'@'localhost';
maintenant connectez- vous en tant qu'utilisateur1 et tapez commandeselect User from mysql.user;
Vous verrez la liste des utilisateurs affichée. :) +1 ProfitezLa table mysql.db est peut-être plus importante pour déterminer les droits des utilisateurs. 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 autorisation pour un utilisateur quand il était évidemment capable de se connecter et de sélectionner, etc.
la source
J'utilise ceci pour trier les utilisateurs, donc les hôtes autorisés sont plus faciles à repérer:
la source
Peter et Jesse ont raison, mais assurez-vous d'abord de sélectionner la base de données mysql.
use mysql;
select User from mysql.user;
ça devrait faire l'affaire
la source
use mysql;
la table à la base de données mysql comme vous l'avez fait. Vous pouvez simplementselect User from mysql.user;
use mysql;
est juste pour que vous puissiez utiliser à laselect User from user;
place,select User from mysql.user;
car il s'agit généralement d'une requête unique, il n'est pas nécessaire d'utiliser la base de données mysqluse mysql
si vous en aviez utilisé,select user from user;
cela aurait pu être quelque chose, mais à la place vous utilisezmysql.user
, ce qui rend l'utilisationuse mysql
au début inutile.Cela affiche la liste des utilisateurs uniques:
la source
L'exécution de cette commande sur l'invite linux demandera d'abord le mot de passe de l'utilisateur root mysql, en fournissant un mot de passe correct, il imprimera tous les utilisateurs de la base de données dans le fichier texte.
la source
J'ai trouvé le sien plus utile car il fournit des informations supplémentaires sur les privilèges DML et DDL
la source
utiliser la requête ci-dessus pour obtenir les utilisateurs Mysql
la source