Les privilèges MySQL contrôlent exactement ce qu'un utilisateur peut et ne peut pas faire à l'intérieur d'une base de données. Le Panel MySQL Nobregas offre 18 privilèges individuels plus le raccourci ALL PRIVILEGES. Comprendre chacun d'entre eux vous aide à accorder le bon niveau d'accès pour chaque cas d'utilisation.
Tableau de Référence des Privilèges
| Privilège | Catégorie | Description |
|---|---|---|
| SELECT | Données | Lire les lignes des tables |
| INSERT | Données | Ajouter de nouvelles lignes aux tables |
| UPDATE | Données | Modifier les valeurs des lignes existantes |
| DELETE | Données | Supprimer des lignes des tables |
| CREATE | Structure | Créer de nouvelles tables |
| ALTER | Structure | Modifier la structure des tables (colonnes, types) |
| DROP | Structure | Supprimer des tables et vues |
| INDEX | Structure | Créer et supprimer des index |
| REFERENCES | Structure | Créer des contraintes de clé étrangère |
| CREATE TEMPORARY TABLES | Admin | Créer des tables temporaires limitées à la session |
| LOCK TABLES | Admin | Verrouiller des tables pour un accès exclusif |
| CREATE VIEW | Admin | Créer des tables virtuelles (vues) |
| SHOW VIEW | Admin | Voir la définition SQL des vues |
| CREATE ROUTINE | Admin | Créer des procédures stockées et fonctions |
| ALTER ROUTINE | Admin | Modifier ou supprimer des procédures stockées |
| EXECUTE | Admin | Exécuter des procédures stockées et fonctions |
| EVENT | Admin | Créer et gérer des événements planifiés |
| TRIGGER | Admin | Créer et gérer des triggers de tables |
Privilèges de Données — Expliqués en Détail
SELECT
Permet à l'utilisateur de lire les données avec des requêtes SELECT. C'est le privilège le plus fondamental. Sans lui, l'utilisateur ne peut récupérer aucune information des tables. Requis pour tout type de rapport, affichage ou récupération de données.
INSERT
Permet à l'utilisateur d'ajouter de nouvelles lignes avec des instructions INSERT. Nécessaire pour les soumissions de formulaires, inscriptions d'utilisateurs, journalisation et toute opération qui crée de nouveaux enregistrements.
UPDATE
Permet à l'utilisateur de modifier les lignes existantes avec des instructions UPDATE. Nécessaire pour modifier les profils, changer les paramètres, mettre à jour les quantités en stock et opérations similaires.
DELETE
Permet à l'utilisateur de supprimer des lignes avec des instructions DELETE. Nécessaire pour supprimer des enregistrements, nettoyer les anciennes données et gérer le contenu.
Privilèges de Structure — Expliqués en Détail
CREATE
Permet de créer de nouvelles tables avec CREATE TABLE. La plupart des applications n'ont besoin de ce privilège que lors de l'installation initiale ou lors de l'exécution de migrations.
ALTER
Permet de modifier la structure des tables avec ALTER TABLE — ajouter, renommer ou supprimer des colonnes, changer les types de données et modifier les index. Essentiel pendant les migrations mais rarement nécessaire en production.
DROP
Permet de supprimer des tables et vues avec DROP TABLE ou DROP VIEW. C'est un privilège destructif — un utilisateur avec DROP peut supprimer définitivement une table entière et toutes ses données.
INDEX
Permet de créer et supprimer des index sur les tables. Les index accélèrent les requêtes mais peuvent ralentir les écritures. Généralement nécessaire uniquement pour les administrateurs de bases de données ou les outils de migration.
REFERENCES
Permet de créer des contraintes de clé étrangère entre tables. Pertinent uniquement pour les bases de données utilisant l'intégrité relationnelle avec des définitions FOREIGN KEY.
Privilèges d'Administration — Expliqués en Détail
CREATE TEMPORARY TABLES
Permet de créer des tables temporaires qui n'existent que pour la session de base de données en cours. Utile pour les requêtes complexes nécessitant un stockage de résultats intermédiaires.
LOCK TABLES
Permet de verrouiller explicitement des tables avec LOCK TABLES. Nécessaire pour les opérations qui requièrent un accès exclusif pour empêcher les modifications concurrentes.
CREATE VIEW
Permet de créer des vues — des tables virtuelles définies par une requête SQL. Les vues simplifient les requêtes complexes et peuvent restreindre les colonnes visibles.
SHOW VIEW
Permet de voir l'instruction CREATE VIEW derrière une vue existante. Nécessaire pour le débogage ou l'inspection des définitions de vues.
CREATE ROUTINE
Permet de créer des procédures stockées et fonctions. Ce sont des programmes SQL réutilisables stockés à l'intérieur de la base de données.
ALTER ROUTINE
Permet de modifier ou supprimer des procédures stockées et fonctions existantes.
EXECUTE
Permet d'exécuter des procédures stockées et fonctions avec des instructions CALL. Un utilisateur peut avoir besoin de EXECUTE sans CREATE ROUTINE s'il doit uniquement exécuter des procédures créées par d'autres.
EVENT
Permet de créer, modifier et supprimer des événements planifiés — le planificateur de tâches intégré de MySQL pour exécuter du SQL à des intervalles spécifiés.
TRIGGER
Permet de créer et supprimer des triggers — des actions SQL automatiques qui se déclenchent quand des lignes sont insérées, mises à jour ou supprimées dans une table.
ALL PRIVILEGES
Cocher ALL PRIVILEGES accorde simultanément tous les privilèges listés ci-dessus. C'est un raccourci pratique équivalent à cocher les 18 cases individuelles. Utilisez-le pour les utilisateurs de confiance qui ont besoin d'un contrôle complet sur une base de données.
Choisir les Bons Privilèges
| Cas d'Utilisation | Privilèges Recommandés |
|---|---|
| Rapports en lecture seule | SELECT |
| Application web standard | SELECT, INSERT, UPDATE, DELETE |
| Application avec migrations | SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX |
| Accès admin complet | ALL PRIVILEGES |
| Exécuteur de procédures stockées | SELECT, EXECUTE |