Droits et privilèges des utilisateurs MySQL dans le panneau de contrôle de l'hébergement

Description de la procédure d'attribution des droits aux utilisateurs MySQL dans le panneau de contrôle cPanel.

Les bases de données (MySQL) sont des entités permettant de stocker des informations sous forme de tables. Pour que les bases de données d'autres utilisateurs ne soient pas accessibles à tous les utilisateurs du serveur, un système d'utilisateurs est mis en place pour ces bases de données. L'accès à une base de données peut être accordé par l'administrateur (ou un utilisateur autorisé) à un autre utilisateur, de manière complète ou partiellement restreinte.

Toutes les données sont stockées dans des tables liées logiquement entre elles, auxquelles on accède à l'aide du langage de requêtes SQL. MySQL est un système distribué librement, c'est-à-dire que son utilisation est gratuite. De plus, c'est un SGBD rapide, fiable et, surtout, facile à utiliser, tout à fait adapté aux projets de taille modeste.

Droits des utilisateurs MySQL

Le SGBD MySQL dispose d'un certain nombre de privilèges, listés ci-dessous avec leur description. Les derniers privilèges sont des privilèges de niveau administrateur, mentionnés explicitement à titre indicatif uniquement. Pour des informations complètes sur les droits/privilèges, consultez la documentation officielle MySQL :

CREATE – permet de créer de nouvelles bases de données et tables

DROP – permet de supprimer des bases de données ou des tables

INSERT – permet d'ajouter des lignes à une table.

UPDATE – permet de modifier le contenu des lignes d'une table. À ne pas confondre avec ALTER, qui permet de modifier la structure de la table elle-même (nombre de lignes/colonnes, types de colonnes).

DELETE – l'opposé d'INSERT – permet de supprimer des lignes d'une table.

ALTER – permet de modifier la structure des tables. Requiert les privilèges CREATE et INSERT.

SELECT – permet la lecture (l'affichage de lignes) des tables en effectuant des sélections par colonnes et/ou selon des critères arithmétiques et logiques.

GRANT OPTION – permet d'attribuer des droits spécifiques à un utilisateur donné (et également de les révoquer). Il n'est possible de donner/révoquer que les droits dont dispose l'attributeur lui-même.

LOCK TABLES – verrouille la table pendant la durée des modifications administratives, afin que les données qu'elle contient ne puissent pas être modifiées de manière naturelle (pendant le flux de travail).

REFERENCES – permet de créer des liens entre tables à l'aide d'une clé étrangère.

EVENT – donne le droit de créer/modifier/supprimer des tâches pour le planificateur

TRIGGER – permet de créer/modifier/supprimer des déclencheurs (associés à certaines tables) qui effectuent des actions supplémentaires lors des opérations DELETE, UPDATE ou INSERT.

INDEX – ce privilège donne le droit d'ajouter/supprimer des index dans les tables. Les index sont définis manuellement et permettent d'accélérer la recherche de lignes.

CREATE TEMPORARY TABLES – permet de créer des tables temporaires pour la durée d'une session.

CREATE VIEW – permet de créer une vue sous forme de table qui n'existe pas réellement en tant que telle et ne contient que des données provenant d'autres tables. Par exemple, cette vue peut regrouper certaines données issues de trois tables (via l'opérateur SELECT) ; les données ainsi rassemblées ne font que référencer les données de ces 3 tables et constituent une union qui n'a pas besoin de sa propre table.

SHOW VIEW – permet de vérifier par quelle requête (de quelles données est composée) une vue créée avec CREATE VIEW

CREATE ROUTINE – permet de créer une procédure constituant un ensemble de commandes SQL.

ALTER ROUTINE – permet de modifier une procédure créée avec CREATE ROUTINE.

EXECUTE – permet d'appeler des procédures préparées.

FILE – donne un accès en lecture à tout fichier du serveur auquel MySQL lui-même a accès, ainsi que le droit de créer des fichiers dans les répertoires pour lesquels MySQL dispose d'un accès en écriture.

CREATE TABLESPACE (admin) – permet de créer/modifier/supprimer des tablespaces. Cet espace est de nature logique et n'est pas lié à la structure de la base de données ou au schéma. Il déclare l'emplacement des objets de la base de données sur les supports physiques et est utilisé pour optimiser le système de base de données.

CREATE USER (admin) – permet de créer/modifier/renommer/supprimer des utilisateurs de bases de données.

PROCESS (admin) – permet l'accès aux informations sur les threads (processus) s'exécutant sur le serveur.

PROXY (admin) – permet de se connecter en tant qu'un autre utilisateur. Utilisé par l'administrateur pour vérifier/déboguer les droits d'accès d'un utilisateur donné.

RELOAD (admin) – permet d'utiliser l'opérateur FLUSH, qui vide le cache MySQL

REPLICATION CLIENT (admin) – permet d'exécuter SHOW MASTER STATUS, SHOW SLAVE STATUS et SHOW BINARY LOG.

REPLICATION SLAVE (admin) – ce privilège est nécessaire aux utilisateurs du serveur de base de données esclave afin que ce serveur puisse se connecter au serveur maître en tant qu'esclave. Sans ce privilège, les serveurs esclaves ne pourront pas demander les mises à jour des bases de données et des tables au serveur maître.

SHOW DATABASES (admin) – permet d'exécuter l'instruction SHOW DATABASES. Les utilisateurs ne disposant pas de ce privilège ne pourront voir, lors de l'exécution de cette instruction, que les bases de données pour lesquelles ils ont des droits.

SHUTDOWN (admin) – ce privilège permet d'exécuter l'instruction SHUTDOWN, qui arrête le serveur MySQL.

SUPER (admin) – privilège accordant le droit à de nombreuses opérations :

  • permet d'arrêter des processus appartenant à d'autres utilisateurs
  • modifier les variables système globales
  • activer/désactiver la journalisation
  • effectuer des mises à jour même si les variables système sont en lecture seule
  • démarrer/arrêter la réplication sur les serveurs esclaves

ALL (admin) – l'utilisateur obtenant ce privilège se voit automatiquement attribuer tous les droits dans le cadre du niveau de privilèges (l'ensemble des privilèges possibles selon le contexte d'attribution). Seul le privilège GRANT OPTION n'est pas attribué dans ce cas.

Attribution des privilèges aux utilisateurs MySQL dans le panneau de contrôle

Sur la page principale de cPanel, accédez à « Bases de données → Bases de données MySQL » :

file

Toutes les opérations sur les bases de données MySQL, les utilisateurs de bases de données et leurs permissions sont effectuées dans ce menu.

file

Si vous n'avez pas encore de base de données ou d'utilisateur, créez-les dans les sections correspondantes de la page :

Créer un utilisateur :

file

La section « Utilisateurs actuels » sera mise à jour :

file

Pour attribuer des droits à un utilisateur donné sur une base de données donnée, recherchez la section « Ajouter un utilisateur à une base de données » sur la page et ajoutez l'utilisateur souhaité à la base de données souhaitée :

file

Après avoir ajouté l'utilisateur à la base de données, une boîte de dialogue s'ouvre pour l'attribution des privilèges :

file

Le bouton « Tous les droits » est équivalent au privilège ALL décrit en début de guide et attribuera tous les droits possibles à l'utilisateur dans le contexte de son appartenance à un groupe d'utilisateurs particulier au niveau du serveur MySQL.

Après confirmation des modifications apportées, vous serez redirigé vers une page confirmant que les droits spécifiés ont bien été accordés, et la section « Bases de données actuelles » de la page de gestion des bases de données et utilisateurs MySQL sera actualisée :

file


Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter