MySQL – Créer un utilisateur en lecture seule
Qu'avons-nous dans la boîte ?
Comment créer un utilisateur en lecture seule sur une base de données MySQL (ou MariaDB) ? Ce tutoriel va répondre à cette question !
Lorsque l’on crée un utilisateur sur un serveur de base de données, il est indispensable de lui attribuer des permissions sur une ou plusieurs bases de données. Avec le langage SQL, c’est l’instruction « GRANT » qui sert à ajouter des autorisations à un utilisateur sur une base de données.
1. Créer un utilisateur MySQL
La première étape consiste à créer un utilisateur sur notre serveur MySQL. Ce n’est que dans un second temps que l’on va donner des droits à cet utilisateur.
Commencez par vous connecter à votre instance MySQL en tant que « root » pour avoir tous les droits. La commande à utiliser est :
mysql -u root -p
Puis, créez l’utilisateur avec la commande « CREATE USER ». Dans cet exemple, l’utilisateur s’appelle « user_ro » et il a le mot de passe « Tutobox2023 » :
CREATE USER 'user_ro'@'localhost' IDENTIFIED BY 'Tutobox2023';
Maintenant que l’utilisateur est créé, il reste à lui accorder des droits.
2. Attribuer des droits de lecture à un utilisateur MySQL
Pour accorder les droits en lecture seule à l’utilisateur « user_ro » sur la base de données « db_tutobox », utilisez le modèle de commande SQL suivant basé sur l’instruction GRANT :
GRANT SELECT ON db_tutobox.* TO 'user_ro'@'localhost';
Le fait de spécifier « db_tutobox.* » permet d’appliquer ce droit sur toutes les tables de la base de données ciblée. On donne le droit à l’utilisateur d’utiliser la commande « SELECT » puisqu’elle permet uniquement de lire des données. Autrement dit, il ne pourra utiliser d’autres commandes comme UPDATE et DELETE.
Pour finir, rechargez les privilèges en utilisant la commande suivante :
FLUSH PRIVILEGES;
Il ne reste plus qu’à quitter la ligne de commande MySQL :
exit;
Vous pouvez maintenant vous connecter à la base de données en utilisant les identifiants de l’utilisateur que vous venez de créer et il ne disposera que des droits en lecture seule sur cette base de données. Eventuellement avec un « mysql -u user_ro -p », vous pouvez faire des tests !
3. Conclusion
Grâce à ce nouvel article de la boîte à tutoriels, vous êtes en mesure de créer un utilisateur en lecture seule sur votre serveur MySQL. Libre à vous d’adapter les différentes valeurs de cet exemple (nom d’utilisateur, le mot de passe et la base de données).
Ressources :