Comment créer un nouvel utilisateur et accorder des autorisations dans MySQL

Comment créer un nouvel utilisateur et accorder des autorisations dans MySQL

Mysql est un système de gestion de base de données populaire et largement utilisé qui stocke et organise des données et permet aux utilisateurs de le récupérer. Il est livré avec un vaste éventail d'options qui accordent aux utilisateurs certaines autorisations aux tables et bases de données.

Dans ce guide, vous apprendrez à créer un nouvel utilisateur et à accorder des autorisations dans le Mysql base de données.

Comment créer un nouvel utilisateur dans MySQL

Pour créer un nouvel utilisateur, connectez-vous d'abord au shell MySQL.

$ sudo mysql -u root -p 

Fournir le mot de passe sudo suivi du mot de passe fourni lors de la configuration de la base de données MySQL et appuyez sur ENTRER. Par la suite, vous obtiendrez cette invite.

Connectez-vous à la coque MySQL

Pour créer un nouvel utilisateur, utilisez la syntaxe ci-dessous:

MariaDb [aucun]> Créer un utilisateur 'nouvel utilisateur'@' localhost 'identifié par'mot de passe';; 

Par exemple, pour créer un nouvel utilisateur appelé 'Tecmint«Dans la base de données, invoquez la commande:

MariaDb [aucun]> Créer un utilisateur 'Tecmint'@' localhost 'identifié par'QKYKMW 5TEC';; 

Quelques points à garder à l'esprit

Lors de l'ajout d'un utilisateur localement je.e., sur le système que vous avez installé Mysql, L'hôte de l'utilisateur est spécifié comme hôte local, Et pas l'adresse IP. Le mot-clé 'hôte local' Se traduit par 'cet ordinateurEt MySQL le traite uniquement. Fondamentalement, LocalHost est utilisé par le client MySQL pour établir une connexion au serveur de base de données MySQL installé localement.

Jusqu'à présent, le Tecmint L'utilisateur n'a aucune autorisation pour interagir avec les bases de données. En fait, l'utilisateur ne peut même pas accéder au shell MySQL.

Pour accorder à l'utilisateur un accès complet à toutes les bases de données, y compris les tables, exécutez.

MariaDb [aucun]> accorder tous les privilèges sur * . * POUR 'Tecmint«@« localhost »; 

Dans la commande ci-dessus, les astérisques indiquent la base de données et le tableau respectivement auquel l'utilisateur peut accéder. Il accorde à l'utilisateur tous les droits de la base de données - lire, écrire, modifier, et exécuter y compris effectuer toutes les tâches à travers d'autres bases de données et tables également.

Jusqu'à présent, nous avons accordé à l'utilisateur un accès complet à la base de données. Bien que cela soit pratique pour expliquer les concepts MySQL, il n'est généralement pas recommandé car il pourrait présenter un risque de sécurité pour vos bases de données. Pensez simplement à ce qui pourrait arriver si un pirate se tenait sur le mot de passe de l'utilisateur. Nous procéderons plus loin et discuterons de la façon d'attribuer des autorisations spécifiques dans la section suivante.

Lorsque vous avez terminé d'attribuer des autorisations à l'utilisateur, rechargez tous les privilèges comme indiqué pour que les modifications prennent effet.

Mariadb [Aucun]> Privilèges de rinçage 

Comment accorder différentes autorisations utilisateur

Voici une ventilation des autorisations possibles que vous pouvez accorder aux utilisateurs:

  • Tous les privilèges - Comme indiqué précédemment, cela accorde à un utilisateur MySQL un accès complet à une base de données spécifique.
  • CRÉER - Permet aux utilisateurs de créer de nouvelles bases de données ou tables.
  • GOUTTE - Permet aux utilisateurs de supprimer des bases de données ou des utilisateurs.
  • INSÉRER - Permet aux utilisateurs d'insérer des lignes dans les tables.
  • SUPPRIMER - Permet aux utilisateurs de supprimer les lignes des tables.
  • SÉLECTIONNER - Avec l'autorisation «Sélectionner», les utilisateurs peuvent lire le contenu d'un tableau.
  • MISE À JOUR - Permet aux utilisateurs de mettre à jour les lignes dans un tableau.
  • Option d'octroi - Les utilisateurs peuvent accorder ou supprimer les privilèges des autres utilisateurs.

Pour accorder une autorisation utilisateur spécifique, utilisez la syntaxe:

MariaDb [Aucun]> Grant Permission_Type sur Database_name.table_name à 'username' @ 'localhost'; 

De plus, vous pouvez attribuer des autorisations à toutes les tables d'une base de données avec un seul symbole d'astérisque comme indiqué:

MariaDb [Aucun]> Grant Permission_Type sur Database_name.* À «nom d'utilisateur» @ «localhost»; 

Par exemple, pour attribuer SÉLECTIONNER Autorisations à 'Tecmint'Utilisateur sur toutes les tableaux de la base de données testdb, exécuter la commande.

MariaDb [Aucun]> Sélection de subvention sur TestDB.* À 'tecmint' @ 'localhost'; 

Puis rincez les privilèges pour que les changements prennent effet.

MariaDb [aucun]> Privilèges de rinçage; 
Attribuer des autorisations sélectionnées à l'utilisateur dans la base de données

De plus, vous pouvez attribuer plusieurs autorisations en les séparant avec une virgule comme indiqué.

MariaDb [Aucun]> Grant INSÉRER, MISE À JOUR SUR testdb.* POUR 'Tecmint«@« localhost »; 
Attribuer plusieurs autorisations à la base de données

Comment révoquer les autorisations MySQL

Pour révoquer les autorisations d'un utilisateur, utilisez la syntaxe:

MariaDb [aucun]> révoquer permission_type SUR nom de la base de données.nom de la table De 'username' @ 'localhost'; 

Par exemple, pour révoquer INSÉRER autorisation de l'utilisateurTecmint', exécutez la commande.

MariaDb [aucun]> révoquer INSÉRER SUR testdb.* De tecmint '@' localhost '; Mariadb [Aucun]> Privilèges de rinçage 
Révoquer les autorisations MySQL

Pour avoir un aperçu des autorisations actuelles d'un utilisateur, exécutez:

MariaDb [Aucun]> Show GRANT pour 'Username' @ 'localhost'; 

De la sortie ci-dessous, nous pouvons voir que le INSÉRER L'autorisation a été supprimée du 'Tecmint'L'utilisateur quittant uniquement SÉLECTIONNER et MISE À JOUR droits sur le testdb base de données.

Vérifiez les autorisations des utilisateurs MySQL

Pour tester la connexion dans le shell MySQL à l'aide du nouvel utilisateur, déconnectez d'abord.

MariaDb [aucun]> quit; 

Puis connectez-vous à nouveau.

$ sudo mysql -u tecmint -p 

Fournir le mot de passe de l'utilisateur et frapper ENTRER Pour accéder à la coquille.

Pour supprimer un utilisateur, utilisez le GOUTTE Commande, tout comme vous le feriez lors de la suppression d'une base de données.

MariaDb [aucun]> déposez l'utilisateur 'nom d'utilisateur' @ 'localhost'; 

Vous aimerez peut-être également lire les articles liés à MySQL suivants:

  • Conseils utiles pour dépanner les erreurs courantes dans MySQL
  • MYTOP - Un outil utile pour surveiller les performances MySQL / MARIADB dans Linux
  • Comment modifier le port MySQL / MARIADB par défaut dans Linux
  • Comment réinitialiser le mot de passe racine MySQL ou MARIADB dans Linux
Conclusion

J'espère que maintenant, vous pouvez créer des utilisateurs dans vos serveurs de base de données MySQL et attribuer ou révoquer confortablement les autorisations.