Dans MariaDB, la commande GRANT ALL PRIVILEGES accorde tous les droits utilisateurs sur une base de données. Ainsi, les utilisateurs peuvent créer, modifier et supprimer des tables sans restrictions.

Qu’est-ce que MariaDB GRANT ALL PRIVILEGES ?

La commande GRANT ALL PRIVILEGES dans MariaDB confère à un utilisateur des droits d’accès complets sur une ou plusieurs bases de données. Elle accorde toutes les permissions disponibles, y compris la création, la modification et la suppression de tables ainsi que l’accès aux fonctions administratives. Avec l’utilisation ciblée de GRANT ALL PRIVILEGES, vous contrôlez les droits d’accès au sein de votre environnement de base de données.

Pour appliquer GRANT ALL PRIVILEGES, vous avez besoin de droits système avancés. Cela inclut généralement le privilège SUPER ou l’autorisation d’accorder des droits (GRANT OPTION). Connectez-vous avec un compte administrateur et assurez-vous d’avoir une connexion stable à la bonne instance de base de données. Assurez-vous de définir précisément le nom d’utilisateur et le préfixe d’hôte afin d’éviter des attribuements de droits involontaires. Vérifiez également si la base de données cible existe déjà, car la commande ne peut s’appliquer qu’aux bases de données existantes.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avantageux et cœurs dédiés performants
  • Sans engagement pour plus de flexibilité
  • Assistance par des experts 24h/24 et 7j/7 incluse

Syntaxe de la commande MariaDB GRANT ALL PRIVILEGES

La structure de base pour accorder tous les droits sur une base de données dans MariaDB est la suivante :

GRANT ALL PRIVILEGES ON database.table* TO 'username'@'host';
sql

Dans MariaDB, l’expression GRANT ALL PRIVILEGES accorde à l’utilisateur spécifié des permissions complètes sur la base de données sélectionnée. En spécifiant 'username'@host, vous déterminez à quel utilisateur et depuis quel hôte l’accès est autorisé. Vous pouvez également définir un mot de passe pour authentifier l’utilisateur, bien que cette étape soit facultative.

Une fois la commande exécutée, les modifications ne prennent effet qu’après rechargement des permissions :

FLUSH PRIVILEGES;
sql

Cela garantit que les droits accordés sont immédiatement actifs et correctement enregistrés dans le système.

Guide étape par étape : créer un utilisateur et lui attribuer des droits

Si vous souhaitez créer un nouveau compte utilisateur dans MariaDB et lui accorder des droits complets, procédez de la manière suivante :

Étape 1 : créer un utilisateur

Tout d’abord, créez un nouvel utilisateur avec un mot de passe sécurisé. Utilisez pour cela la commande suivante :

CREATE USER 'newuser'@localhost IDENTIFIED BY 'strongpassword';
sql

Avec la commande MariaDB CREATE USER, vous créez un nouvel utilisateur et lui attribuez un mot de passe. Remplacez newuser par le nom d’utilisateur souhaité et strongpassword par un mot de passe sécurisé personnalisé. La mention localhost limite l’accès aux connexions à partir du serveur local. Si vous souhaitez autoriser l’accès depuis un autre hôte, remplacez localhost par l’adresse IP ou le nom d’hôte du serveur souhaité.

Étape 2 : accorder tous les droits sur une base de données

MariaDB GRANT ALL PRIVILEGES accorde à l’utilisateur tous les privilèges disponibles sur toutes les tables de la base de données database_name. Le caractère * représente chaque table au sein de la base de données spécifiée.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost;
sql

Étape 3 : autoriser la délégation de droits (GRANT OPTION)

En ajoutant WITH GRANT OPTION, l’utilisateur obtient le droit de transmettre les privilèges reçus à d’autres utilisateurs.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost WITH GRANT OPTION;
sql

Étape 4 : accorder des droits individuels sur une base de données ou une table

Vous pouvez également attribuer des autorisations spécifiques à une base de données entière ou à des tables individuelles. Par exemple, pour n’autoriser que l’accès en lecture à toutes les tables d’une base de données, utilisez :

GRANT SELECT ON database_name.* TO 'newuser'@localhost;
sql

Dans cet exemple, 'newuser' obtient le droit de lire toutes les données dans la base de données database_name, sans pouvoir effectuer de modifications. L’utilisation de * après le nom de la base de données signifie que les droits s’appliquent à toutes les tables de cette base de données.

Si vous souhaitez octroyer des droits uniquement sur une table spécifique, ajustez la syntaxe de la manière suivante :

GRANT SELECT ON database_name.table_name TO 'newuser'@localhost;
sql

Ainsi, 'newuser' peut lire les données de la table table_name au sein de la base de données database_name. Cela vous permet de contrôler très précisément quelles actions l’utilisateur peut effectuer.

Étape 5 : appliquer les modifications

Les droits devraient être mis à jour automatiquement et prendre effet immédiatement. Vous pouvez aussi exécuter la commande suivante pour vous assurer que tous les droits attribués deviennent effectifs :

FLUSH PRIVILEGES;
sql

Étape 6 : afficher les droits attribués

Pour vérifier tous les droits actuellement attribués à un compte utilisateur, entrez la commande suivante :

SHOW GRANTS FOR 'newuser'@localhost;
sql

Cette commande liste toutes les permissions dont newuser dispose pour l’instance MariaDB. Vous verrez non seulement les droits généraux sur les bases de données ou tables, mais aussi des privilèges spécifiques comme le droit de transmettre ses propres autorisations (WITH GRANT OPTION).

Bases de données managées
Des bases de données gérées et sûres
  • Solutions flexibles, adaptées à vos besoins
  • Architecture de niveau professionnel, gérée par des experts
  • Hébergées en Europe, conformément aux normes de protection des données les plus strictes
Cet article vous a-t-il été utile ?
Aller au menu principal