Présentation
L'une des tâches les plus courantes lors de l'administration d'une base de données consiste à superviser l'accès et les autorisations. MariaDB est un système de gestion de base de données relationnelle (RDBMS) open source et entièrement compatible. Le client MariaDB facilite l'ajout de nouveaux utilisateurs et leur accorde différents degrés de privilèges.
Ce didacticiel simple vous montre comment créer un utilisateur MariaDB, puis comment accorder des privilèges à l'utilisateur nouvellement créé.
Prérequis
- Accès à la ligne de commande/à la fenêtre du terminal
- Un compte utilisateur avec sudo privilèges
- Une instance fonctionnelle de MariaDB
Accéder au serveur MariaDB
Entrez la commande suivante dans votre terminal de ligne de commande pour accéder au shell client MariaDB :
sudo mysql -u root
Si votre utilisateur root a un mot de passe prédéfini, modifiez la commande pour refléter ce fait :
sudo mysql -u root -p
Entrez votre mot de passe et accédez au client MariaDB.
Si vous n'avez pas encore créé de bases de données, vous pouvez facilement le faire en tapant la commande suivante dans votre shell client MariaDB :
CREATE DATABASE 'yourDB';
Accédez à une liste de bases de données existantes en tapant cette commande :
SHOW DATABASES;
La base de données que nous venons de créer est sur la liste.
Créer un nouvel utilisateur MariaDB
Pour créer un nouvel utilisateur MariaDB, tapez la commande suivante :
CREATE USER 'user1'@localhost IDENTIFIED BY 'password1';
Dans ce cas, nous utilisons le nom d'hôte "localhost" et non l'adresse IP du serveur. Cette pratique est courante si vous prévoyez de vous connecter en SSH à votre serveur ou lorsque vous utilisez le client local pour vous connecter à un serveur MySQL local.
Une fois que vous avez créé user1 , vérifiez son état en saisissant :
SELECT User FROM mysql.user;
La sortie répertorie tous les utilisateurs existants.
Accorder des privilèges à l'utilisateur MariaDB
L'utilisateur nouvellement créé n'a pas les privilèges pour gérer les bases de données ni pour accéder au shell MariaDB.
Pour accorder tous les privilèges à user1 :
GRANT ALL PRIVILEGES ON *.* TO 'user1'@localhost IDENTIFIED BY 'password1';
Le *.* dans l'instruction fait référence à la base de données ou à la table pour laquelle l'utilisateur dispose de privilèges. Cette commande spécifique permet d'accéder à toutes les bases de données situées sur le serveur. Comme il peut s'agir d'un problème de sécurité majeur, vous devez remplacer le symbole par le nom de la base de données à laquelle vous donnez accès.
Pour accorder des privilèges uniquement pour votreDB , saisissez l'instruction suivante :
GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;
Il est crucial de rafraîchir les privilèges une fois que de nouveaux ont été attribués avec la commande :
FLUSH PRIVILEGES;
L'utilisateur que vous avez créé dispose désormais de tous les privilèges et de l'accès à la base de données et aux tables spécifiées.
Une fois que vous avez terminé cette étape, vous pouvez vérifier le nouveau user1 dispose des autorisations appropriées en utilisant l'instruction suivante :
SHOW GRANTS FOR 'user1'@localhost;
Les informations fournies par le système sont affichées sur le terminal.
Supprimer le compte utilisateur MariaDB
Si vous devez supprimer un utilisateur, vous pouvez utiliser le DROP
déclaration :
DROP USER 'user1'@localhost;
La sortie confirme que user1 n'a plus accès ni privilèges.