Mysql
 sql >> Base de données >  >> RDS >> Mysql

Différentes façons de peupler les utilisateurs de MySQL

Cet article explique différentes méthodes pour renseigner les détails des utilisateurs dans MySQL. Nous pouvons afficher la liste des utilisateurs en utilisant l'une des méthodes suivantes.

  1. Atelier MySQL
  2. Outil de ligne de commande MySQL.

Environnement S etup

Pour la démonstration, j'ai installé MySQL Server 8.0 sur Windows 10 et créé un utilisateur nommé NisargU. Exécutez la requête ci-dessous pour créer un utilisateur.

mysql> create user NisargU identified by '[email protected]';

Sortie

Exécutez la requête suivante pour accorder des privilèges à l'utilisateur NisargU.

mysql> Grant ALL on *.* to 'NisargU';

Sortie

Voyons maintenant comment remplir la liste des utilisateurs à l'aide des outils de ligne de commande MySQL.

Comment afficher les utilisateurs avec MySQL C commande-L ine T ouf

Contrairement à SHOW TABLE, SHOW DATABASES MySQL Server n'a pas la commande SHOW USERS. Nous pouvons remplir les détails de l'utilisateur en exécutant des requêtes sur les tables système. Voyons comment obtenir les données des tables système.

Exemple 1. Afficher tous les utilisateurs de MySQL

Nous pouvons utiliser mysql.User table pour remplir la liste des utilisateurs créés dans le serveur MySQL.

Requête

mysql> select host as `Host Name` ,user as `User Name` from mysql.user;

Sortie

Remarque : Pour exécuter la requête ci-dessus sur la table, l'utilisateur doit disposer d'un rôle DBA.

Si vous souhaitez remplir plus d'informations sur les utilisateurs, vous pouvez ajouter une colonne à partir des tables mysql.user. Pour afficher la structure de la table mysql.user, exécutez la requête suivante.

Requête

mysql>DESC mysql.user;

Sortie

Exemple 2. Afficher les détails d'utilisateurs spécifiques

Supposons que nous voulions renseigner le nom d'hôte, le nom d'utilisateur, l'état d'expiration du mot de passe et la date de changement du mot de passe de tous les utilisateurs. Pour ce faire, exécutez la requête suivante :

mysql> select Host, User, authentication_string ,password_expired, password_last_changed from mysql.user where user='NisargU';

Sortie

Exemple 3. Afficher un utilisateur actuel

Supposons que vous souhaitiez renseigner l'utilisateur connecté au serveur MySQL ; vous pouvez utiliser le user() ou utilisateur_actuel() une fonction. Tout d'abord, connectons-nous au serveur MySQL en utilisant NisargU utilisateur.

La requête pour se connecter à MySQL :

C:\Users\Nisarg>mysql -u NisargU -p

Sortie

La requête pour voir l'utilisateur avec la fonction USER() :

mysql> select user() as `Connected User`;

Sortie

La requête pour afficher l'utilisateur avec le current_user() fonction :

mysql> select current_user() as `Connected User`;

Sortie

Exemple 4. Afficher la liste des utilisateurs de la base de données et associés

Par exemple, vous souhaitez remplir la liste des bases de données et des utilisateurs associés. Vous pouvez renseigner les informations en interrogeant mysql.db tableau.

Requête :

mysql> SELECT host,db, user FROM mysql.db;

Sortie :

Si vous souhaitez renseigner les détails des privilèges attribués à l'utilisateur NisargU, exécutez la requête suivante :

mysql> SELECT * FROM mysql.db where user='NisargU' \G;

Production

Exemple 5. Afficher les utilisateurs connectés au serveur MySQL

Si vous souhaitez remplir la liste des utilisateurs connectés à MySQL Server, nous pouvons exécuter la requête sur information_schema.processlist tableau.

Requête

mysql> select ID, User, Host, DB, command,time `Query execution time`, state `Query execution status` from information_schema.processlist;

Sortie

Comme vous pouvez le voir, quatre utilisateurs sont connectés au serveur MySQL.

Voyons maintenant comment remplir la liste des utilisateurs utilisant MySQL Workbench.

Comment V voir le P rivilèges G fulminé à U sers

Nous pouvons utiliser les fonctions SHOW GRANTS() pour remplir la liste des privilèges accordés aux utilisateurs spécifiques.

Remarque : La sortie de la requête est longue, j'ai donc utilisé MySQL Workbench pour afficher la sortie.

Supposons que nous voulions remplir les privilèges accordés à l'utilisateur NisargU. Pour ce faire, exécutez la requête ci-dessous.

mysql> show grants for NisargU;

Sortie

Voyons comment afficher la liste des utilisateurs avec leurs privilèges en utilisant MySQL Workbench.

Comment afficher les utilisateurs avec MySQL Workbench

Nous pouvons afficher les détails des utilisateurs à partir du workbench MySQL. Ouvrez MySQL Workbench et connectez-vous au serveur à l'aide de la connexion root.

Dans Navigator Pan, cliquez sur Administration languette. Dans la section Gestion, cliquez sur Utilisateurs et privilèges .

Dans le volet de droite, vous pouvez voir la liste des utilisateurs créés sur le serveur MySQL. Pour afficher leurs détails, sélectionnez n'importe quel utilisateur dans la liste.

Vous pouvez maintenant afficher les détails suivants de l'utilisateur sélectionné :

Détails de connexion

Dans le Connexion détails, vous pouvez afficher les détails de l'utilisateur, y compris le nom de connexion, le type d'authentification et la chaîne d'authentification.

Limites du compte

Dans les limites du compte , vous pouvez définir les paramètres suivants :

  1. Nombre total de requêtes que le compte peut exécuter en une heure.
  2. Déclaration de mise à jour totale que le compte peut exécuter par heure.
  3. Un certain nombre de fois que le compte peut se connecter au serveur par heure.
  4. Le nombre de connexions simultanées au serveur.

Dans notre cas, nous avons utilisé les paramètres par défaut pour le NisargU utilisateur.

Rôles administratifs

Dans les rôles administratifs , vous pouvez afficher les privilèges globaux et les rôles administratifs attribués à l'utilisateur. Dans notre cas, nous avons accordé le DBA rôle à l'NisargU utilisateur.

Privilèges de schéma

Dans les Privilèges du schéma , vous pouvez afficher la liste des privilèges accordés sur la base de données spécifique à l'utilisateur. Dans notre démo, nous avons accordé INSERT, UPDATE, DELETE, SELECT, EXECUTE et AFFICHER LA VUE rôles à l'utilisateur NisargU sur le Sakiladb base de données.

Résumé

"Comment récupérer les utilisateurs dans MySQL ? » est une question très fréquemment posée par les administrateurs de bases de données juniors. Dans cet article, nous avons exploré différentes méthodes pour afficher les utilisateurs créés dans le serveur MySQL. Nous avons appris comment récupérer la liste à l'aide de MySQL Workbench et de l'outil de ligne de commande MySQL.