Dans MariaDB, la commande GRANT ALL PRIVILEGES accorde tous les droits uti­li­sa­teurs sur une base de données. Ainsi, les uti­li­sa­teurs peuvent créer, modifier et supprimer des tables sans res­tric­tions.

Qu’est-ce que MariaDB GRANT ALL PRIVILEGES ?

La commande GRANT ALL PRIVILEGES dans MariaDB confère à un uti­li­sa­teur des droits d’accès complets sur une ou plusieurs bases de données. Elle accorde toutes les per­mis­sions dis­po­nibles, y compris la création, la mo­di­fi­ca­tion et la sup­pres­sion de tables ainsi que l’accès aux fonctions ad­mi­nis­tra­tives. Avec l’uti­li­sa­tion ciblée de GRANT ALL PRIVILEGES, vous contrôlez les droits d’accès au sein de votre en­vi­ron­ne­ment de base de données.

Pour appliquer GRANT ALL PRIVILEGES, vous avez besoin de droits système avancés. Cela inclut gé­né­ra­le­ment le privilège SUPER ou l’au­to­ri­sa­tion d’accorder des droits (GRANT OPTION). Connectez-vous avec un compte ad­mi­nis­tra­teur et assurez-vous d’avoir une connexion stable à la bonne instance de base de données. Assurez-vous de définir pré­ci­sé­ment le nom d’uti­li­sa­teur et le préfixe d’hôte afin d’éviter des at­tri­bue­ments de droits in­vo­lon­taires. 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 exis­tantes.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance 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’ex­pres­sion GRANT ALL PRIVILEGES accorde à l’uti­li­sa­teur spécifié des per­mis­sions complètes sur la base de données sé­lec­tion­née. En spé­ci­fiant 'username'@host, vous dé­ter­mi­nez à quel uti­li­sa­teur et depuis quel hôte l’accès est autorisé. Vous pouvez également définir un mot de passe pour au­then­ti­fier l’uti­li­sa­teur, bien que cette étape soit fa­cul­ta­tive.

Une fois la commande exécutée, les mo­di­fi­ca­tions ne prennent effet qu’après re­char­ge­ment des per­mis­sions :

FLUSH PRIVILEGES;
sql

Cela garantit que les droits accordés sont im­mé­dia­te­ment actifs et cor­rec­te­ment en­re­gis­trés dans le système.

Guide étape par étape : créer un uti­li­sa­teur et lui attribuer des droits

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

Étape 1 : créer un uti­li­sa­teur

Tout d’abord, créez un nouvel uti­li­sa­teur 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 uti­li­sa­teur et lui attribuez un mot de passe. Remplacez newuser par le nom d’uti­li­sa­teur souhaité et strongpassword par un mot de passe sécurisé per­son­na­lisé. La mention localhost limite l’accès aux con­nexions à 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’uti­li­sa­teur tous les pri­vi­lèges dis­po­nibles sur toutes les tables de la base de données database_name. Le caractère * re­pré­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é­ga­tion de droits (GRANT OPTION)

En ajoutant WITH GRANT OPTION, l’uti­li­sa­teur obtient le droit de trans­mettre les pri­vi­lèges reçus à d’autres uti­li­sa­teurs.

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

Étape 4 : accorder des droits in­di­vi­duels sur une base de données ou une table

Vous pouvez également attribuer des au­to­ri­sa­tions spé­ci­fiques à une base de données entière ou à des tables in­di­vi­duelles. 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 mo­di­fi­ca­tions. L’uti­li­sa­tion de * après le nom de la base de données signifie que les droits s’ap­pli­quent à toutes les tables de cette base de données.

Si vous souhaitez octroyer des droits uni­que­ment sur une table spé­ci­fique, 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é­ci­sé­ment quelles actions l’uti­li­sa­teur peut effectuer.

Étape 5 : appliquer les mo­di­fi­ca­tions

Les droits devraient être mis à jour au­to­ma­ti­que­ment et prendre effet im­mé­dia­te­ment. Vous pouvez aussi exécuter la commande suivante pour vous assurer que tous les droits attribués de­vien­nent effectifs :

FLUSH PRIVILEGES;
sql

Étape 6 : afficher les droits attribués

Pour vérifier tous les droits ac­tuel­le­ment attribués à un compte uti­li­sa­teur, entrez la commande suivante :

SHOW GRANTS FOR 'newuser'@localhost;
sql

Cette commande liste toutes les per­mis­sions 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 pri­vi­lèges spé­ci­fiques comme le droit de trans­mettre ses propres au­to­ri­sa­tions (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
  • Ar­chi­tec­ture de niveau pro­fes­sion­nel, gérée par des experts
  • Hébergées en Europe, con­for­mé­ment aux normes de pro­tec­tion des données les plus strictes
Aller au menu principal