GNU/Linux >> Tutoriels Linux >  >> Linux

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

Dans ce didacticiel, nous allons ajouter un nouvel utilisateur dans MySQL et accorder différents types de privilèges sur une base de données MySQL.

Le serveur MySQL nous permet de créer de nombreux comptes d'utilisateurs et d'accorder les privilèges appropriés afin que les utilisateurs puissent accéder et gérer les bases de données. Une fois MySQL installé sur le serveur, vous devez créer une base de données et des comptes d'utilisateurs supplémentaires.

Pour exécuter les commandes suivantes, vous devez d'abord vous connecter au serveur MySQL avec le compte root MySQL.

mysql -u root -p

Comment créer un nouvel utilisateur MySQL

Le CREATE USER L'instruction crée un nouvel utilisateur dans le serveur de base de données MySQL. Voici la syntaxe de base de l'instruction :

CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

Dans la syntaxe ci-dessus, assurez-vous de remplacer le nom d'utilisateur et mot de passe avec le nom d'utilisateur et le mot de passe souhaités.

Définissez le hostname vers localhost si vous voulez que l'utilisateur puisse se connecter au serveur MySQL uniquement à partir de l'hôte local, ce qui signifie « cet ordinateur ». Si vous voulez que l'utilisateur puisse se connecter depuis n'importe quel hôte, utilisez le % caractère générique comme nom d'hôte.

Par exemple, nous allons créer un utilisateur avec le nom james , et le mot de passe MyStrongPass123 en utilisant la commande suivante :

CREATE USER 'james'@'localhost' IDENTIFIED BY 'MyStrongPass123';

Cependant, cet utilisateur ne pourra pas travailler avec l'une des bases de données MySQL tant qu'il n'aura pas obtenu de privilèges supplémentaires.

Comment accorder des privilèges à un utilisateur MySQL

Juste après avoir créé avec succès le nouvel utilisateur, nous pouvons accorder des privilèges à ce nouvel utilisateur. Dans la plupart des cas, vous accordez des privilèges aux utilisateurs MySQL en fonction de la base de données particulière à laquelle le compte doit avoir accès.

Plusieurs types de privilèges peuvent être accordés à un compte utilisateur. Vous pouvez trouver une liste complète des privilèges pris en charge par MySQL ici.

  • ALL PRIVILEGES – Accorde tous les privilèges à un compte utilisateur.
  • ALTER – L'utilisateur peut modifier la structure d'une table ou d'une base de données.
  • CREATE – Le compte d'utilisateur est autorisé à créer des bases de données et des tables.
  • DROP – Le compte d'utilisateur est autorisé à supprimer des bases de données et des tables.
  • DELETE – Le compte utilisateur est autorisé à supprimer des lignes d'une table spécifique.
  • INSERT – Le compte utilisateur est autorisé à insérer des lignes dans une table spécifique.
  • SELECT – Le compte utilisateur est autorisé à lire une base de données.
  • UPDATE – Le compte utilisateur est autorisé à mettre à jour les lignes du tableau.

Pour fournir à un utilisateur un accès à la base de données MySQL et donner des autorisations, vous devez généralement utiliser le GRANT suivant déclaration :

GRANT permission_type ON privilege_level TO 'username'@'hostname'; 

Pour accorder tous les privilèges à l'utilisateur james sur la jamesdb base de données, utilisez la commande suivante :

GRANT ALL PRIVILEGES ON jamesdb.* TO 'james'@'localhost';

Tapez ce qui suit pour n'accorder que SELECT et INSERT privilèges à l'utilisateur james sur la jamesdb base de données :

GRANT SELECT, INSERT ON jamesdb.* TO 'james'@'localhost';

Grand SELECT privilèges à l'utilisateur james uniquement aux salaries tableau sur les employees base de données :

GRANT SELECT ON employees.salaries TO 'james'@'localhost';

Dans certains cas, vous souhaiterez peut-être créer un autre "super utilisateur". Pour accorder à un utilisateur les mêmes privilèges que l'utilisateur racine MySQL , utilisez la commande suivante, qui accorde des privilèges globaux à l'utilisateur james connexion via localhost :

GRANT ALL ON *.* TO 'james'@'localhost' WITH GRANT OPTION;

Modifier le mot de passe d'un compte utilisateur MySQL

Supposons que vous souhaitiez modifier le mot de passe de james   utilisateur qui se connecte à partir de localhost à NewStrongPass123 , vous devez exécuter l'instruction SQL suivante :

ALTER USER 'james'@'localhost' IDENTIFIED BY 'NewStrongPass123';

Dans l'instruction SQL ci-dessus, assurez-vous de modifier james avec votre utilisateur de base de données et localhost avec l'hébergeur de l'utilisateur.

Afficher Privilèges pour un utilisateur dans MySQL

Dans MySQL, vous pouvez utiliser le SHOW GRANTS commande pour afficher toutes les informations d'autorisation pour un utilisateur. Prenons quelques exemples.

La déclaration suivante utilise SHOW GRANTS déclaration pour afficher les privilèges accordés à l'utilisateur actuel :

SHOW GRANTS;

Pour afficher les subventions d'un utilisateur MySQL, vous pouvez utiliser SHOW GRANTS en précisant le nom d'utilisateur :

SHOW GRANTS FOR 'james'@'localhost';

Révoquer les privilèges d'un compte utilisateur MySQL

La syntaxe pour révoquer un ou plusieurs privilèges d'un compte utilisateur est presque identique à celle lors de l'octroi de privilèges.

Si vous devez révoquer les privilèges de l'utilisateur james sur un jamesdb base de données, appliquez la syntaxe similaire à celle que vous avez utilisée lors de l'octroi des autorisations :

REVOKE ALL PRIVILEGES ON jamesdb.* FROM 'james'@'localhost';

Supprimer l'utilisateur de MySQL

Au lieu de révoquer les privilèges, vous pouvez également supprimer cet utilisateur. Ainsi, vous pouvez supprimer un utilisateur de la base de données à l'aide de la commande suivante :

DROP USER 'james'@'localhost';

La commande ci-dessus supprimera l'utilisateur james avec tous ses privilèges.

Enregistrer vos modifications

Enfin, chaque fois que vous mettez à jour ou modifiez une autorisation, assurez-vous d'utiliser les FLUSH PRIVILEGES commande.

FLUSH PRIVILEGES;

Conclusion

Après avoir terminé ce didacticiel, vous devriez savoir comment ajouter de nouveaux utilisateurs et leur accorder diverses autorisations dans une base de données MySQL.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment créer un nouvel utilisateur MySQL et accorder des privilèges

  2. Comment accorder et supprimer des privilèges Sudo aux utilisateurs sur Ubuntu

  3. Comment créer un nouvel utilisateur avec un accès Ssh ?

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

  5. Comment puis-je ajouter X jours à ce jour et obtenir une nouvelle date ?

Comment vérifier les privilèges utilisateur MySQL sous Linux

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

Comment ajouter une base de données MySQL et un utilisateur de base de données MySQL sur Plesk ?

Comment ajouter une base de données MySQL dans SolidCP ?

Comment ajouter une base de données MySQL dans WebsitePanel 2.1 ?

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