Une introduction rapide aux autorisations utilisateur dans une base de données MySQL
Voyons comment accorder des autorisations (appelées privilèges) à un utilisateur de la base de données MySQL
Par défaut, lorsque vous créez un nouvel utilisateur MySQL à l'aide de la syntaxe
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
l'utilisateur ne peut pas faire grand-chose. On peut dire que ça ne peut rien, en fait.
Il ne peut pas lire les données d'une base de données existante, et encore moins modifier les données. Et il ne peut même pas créer une nouvelle base de données.
Pour obliger un utilisateur à faire quoi que ce soit, vous devezaccorder des privilègesà lui.
Vous pouvez le faire en utilisant leGRANT
commander.
On peut utiliserGRANT <permission>
, en utilisant les mots-clés d'autorisation suivants:
CREATE
DROP
DELETE
INSERT
SELECT
UPDATE
ALL PRIVILEGES
Donner le privilège de créer de nouvelles bases de données à un utilisateur
GRANT CREATE ON *.* TO '<username>'@'localhost';
Donner des privilèges à un utilisateur pour créer de nouvelles tables dans une base de données spécifique
GRANT CREATE ON <database>.* TO '<username>'@'localhost';
Donner le privilège de lire (interroger) une base de données spécifique à un utilisateur
GRANT SELECT ON <database>.* TO '<username>'@'localhost';
Accorder le privilège de lire une base de données spécifiquetableà un utilisateur
GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';
Donner le privilège d'insérer, mettre à jour et supprimer des lignes dans une base de données spécifique à un utilisateur
GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';
Donner le privilège de supprimer des tables dans une base de données spécifique à un utilisateur
GRANT DROP ON <database>.* TO '<username>'@'localhost';
Donner le privilège de supprimer des bases de données à un utilisateur
GRANT DROP ON *.* TO '<username>'@'localhost';
Donner tous les privilèges sur une base de données spécifique à un utilisateur
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';
Donner tous les privilèges à un utilisateur
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
Révoquer un privilège
Exemple de révocation duDROP
privilège sur<database>
:
REVOKE DROP ON <database>.* TO '<username>'@'localhost';
Pour révoquer tous les privilèges, exécutez:
REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
Vous pouvez visualiser les privilèges d'un seul utilisateur en exécutant:
SHOW GRANTS FOR '<username>'@'localhost';
Plus de didacticiels sur les bases de données:
- Le didacticiel de base de MongoDB
- En quoi MongoDB est différent d'une base de données SQL
- Systèmes d'information, données et informations
- Modèles de données
- Introduction au modèle de données ER
- Le modèle relationnel
- Algèbre relationnelle
- Bases de données relationnelles
- Qu'est-ce qu'une base de données? Et un SGBD?
- Introduction à SQL
- Comment installer PostgreSQL sur macOS
- Avez-vous toujours besoin d'une base de données pour votre application?
- Comment installer SQLite sur macOS
- Introduction à PostgreSQL
- Autorisations utilisateur PostgreSQL
- Comment lister tous les utilisateurs dans PostgreSQL
- Comment changer de base de données à l'aide de PostgreSQL
- Comment lister toutes les bases de données à l'aide de PostgreSQL
- Comment lister les tables de la base de données actuelle en utilisant PostgreSQL
- Comment installer MySQL sur macOS
- Créer un utilisateur sur MySQL
- PostgreSQL vs MySQL, une comparaison
- Autorisations utilisateur SQLite
- Autorisations des utilisateurs MySQL
- SQL, création d'une table
- SQL, ajout de données à une table
- SQL, comment utiliser SELECT
- SQL, gestion des cellules vides
- SQL, clés uniques et primaires
- SQL, comment mettre à jour les données
- SQL, comment mettre à jour une structure de table
- SQL, comment supprimer des données et des tables
- Jointures SQL
- Vues SQL
- Comment insérer plusieurs éléments à la fois dans une collection MongoDB
- Comment supprimer tous les éléments d'une collection MongoDB