GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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 les données et permet aux utilisateurs de les récupérer. Il est livré avec une vaste gamme d'options qui accordent aux utilisateurs certaines autorisations sur les tables et les bases de données.

Dans ce guide, vous apprendrez à créer un nouvel utilisateur et à accorder des autorisations dans 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

Fournissez 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 ENTER . Par la suite, vous obtiendrez cette invite.

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

MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Par exemple, pour créer un nouvel utilisateur appelé "tecmint ' dans la base de données, appelez la commande :

MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';

Quelques points à garder à l'esprit

Lors de l'ajout d'un utilisateur localement, c'est-à-dire sur le système sur lequel vous avez installé MySQL , l'hôte de l'utilisateur est spécifié comme localhost , et non l'adresse IP. Le mot-clé ‘localhost ' se traduit par 'cet ordinateur ' et MySQL le traite de manière unique. 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 [none]> GRANT ALL PRIVILEGES ON * . * TO 'tecmint'@'localhost';

Dans la commande ci-dessus, les astérisques pointent respectivement vers la base de données et la table auxquelles l'utilisateur peut accéder. Il accorde à l'utilisateur tous les droits sur la base de données - lire , écrire , modifier, et exécuter y compris l'exécution de toutes les tâches sur 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 de MySQL, ce n'est généralement pas recommandé car cela pourrait poser un risque pour la sécurité de vos bases de données. Pensez à ce qui pourrait arriver si un pirate s'emparait du mot de passe de l'utilisateur. Nous allons continuer et discuter de la façon d'attribuer des autorisations spécifiques dans la section suivante.

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

MariaDB [none]> FLUSH PRIVILEGES

Comment accorder différentes autorisations d'utilisateur

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

  • TOUS LES PRIVILÈGES – Comme vu 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.
  • DÉPOSER – 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 tableaux.
  • SUPPRIMER – Permet aux utilisateurs de supprimer des lignes des tables.
  • SÉLECTIONNER – avec l'autorisation "SELECT", les utilisateurs peuvent lire le contenu d'un tableau.
  • MISE À JOUR – Permet aux utilisateurs de mettre à jour les lignes d'un tableau.
  • OPTION DE SUBVENTION – Les utilisateurs peuvent accorder ou retirer les privilèges d'autres utilisateurs.

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

MariaDB [none]> GRANT permission_type ON database_name.table_name TO 'username'@'localhost';

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

MariaDB [none]> GRANT permission_type ON database_name.* TO 'username'@'localhost';

Par exemple, pour attribuer SELECT autorisations pour 'tecmint ' utilisateur sur toutes les tables de la base de données testdb , exécutez la commande.

MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';

Videz ensuite les privilèges pour que les modifications prennent effet.

MariaDB [none]> FLUSH PRIVILEGES;

De plus, vous pouvez attribuer plusieurs autorisations à la fois en les séparant par une virgule, comme indiqué.

MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';

Comment révoquer les autorisations MySQL

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

MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';

Par exemple, pour révoquer INSERT autorisations de l'utilisateur 'tecmint ', exécutez la commande.

MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES

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

MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';

À partir de la sortie ci-dessous, nous pouvons voir que le INSERT l'autorisation a été supprimée du "tecmint ' utilisateur ne laissant que SELECT et MISE À JOUR droits sur testdb base de données.

Pour tester la connexion au shell MySQL avec le nouvel utilisateur, déconnectez-vous d'abord.

MariaDB [none]> quit;

Reconnectez-vous ensuite.

$ sudo mysql -u tecmint -p

Fournissez le mot de passe de l'utilisateur et appuyez sur ENTER pour accéder au shell.

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

MariaDB [none]> DROP USER 'username'@'localhost';

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

  • Conseils utiles pour résoudre les erreurs courantes dans MySQL
  • Mytop – Un outil utile pour surveiller les performances de MySQL/MariaDB sous Linux
  • Comment changer le port MySQL/MariaDB par défaut sous Linux
  • Comment réinitialiser le mot de passe racine MySQL ou MariaDB sous Linux
Conclusion

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


Ubuntu
  1. Comment ajouter un nouvel utilisateur MySQL et accorder des privilèges d'accès

  2. Comment créer et supprimer un groupe d'utilisateurs sous Linux

  3. Howto MySQL :Créer un utilisateur et accorder une autorisation à une base de données

  4. Comment créer une base de données MySQL et son utilisateur dans CWP ?

  5. Créer un nouvel utilisateur et accorder des autorisations dans MySQL

Comment créer un nouvel utilisateur administrateur WordPress via MySQL

Comment créer un nouvel utilisateur MySQL via phpMyAdmin

Comment créer une base de données et un utilisateur MySQL dans cPanel ?

Comment créer une nouvelle base de données et un utilisateur MySQL ?

Comment puis-je créer une nouvelle base de données MySQL dans cPanel ?

Comment créer et gérer de nouveaux utilisateurs sous Linux