
Lorsque nous travaillons avec bases de données, Nous pouvons parfois avoir la nécessité pour certains accès de l’utilisateur certains d'entre eux, peut-être alors que nous sommes en développement met en scène soit parce que nous avons besoin de ces utilisateurs de faire ou de générer n’importe quel genre de rapport ou des données statistiques, mais sans Ceci Vous pouvez effectuer tout type de changer dans le même.
Pour ce faire, C'est vrai créer, dans le serveur InterBase, données un utilisateur ayant seulement autorisations pour effectuer consultations, en évitant qu’il peut effectuer des insertions, mises à jour ou effectuer toute autre opération sur la base de données en question.
Comment faire pour ajouter un utilisateur en lecture seule d’une base de données MySQL
C’est quelque chose de tout à fait simple créer et leur donner privilèges de lecture seule pour un utilisateur dans l'un base de données dans MySQL, et nous allons voir comment vous pouvez le faire.
Pour ce faire, se connecter, Grâce à la Console ou terminal, à la base de données de votre serveur MySQL avec un compte qui permet aux utilisateurs de créer et affecter des privilèges, normalement racine ou tout autre compte similaire.
Fois relié, crée l’utilisateur Comment souhaitez-vous vous normalement le faire:
1 | mysql > CREATE USER 'nombre_usuario'@'%' IDENTIFIED by 'contrasena'; |
Comment vous savez, remplace user_name l’utilisateur que vous souhaitez créer, mot de passe le mot de passe à affecter, et selon le type d’accès que vous souhaitez que cet utilisateur, Vous pouvez laisser % telle est, ou vous pouvez assigner la Nom de serveur ou d’IP d'où ce seul utilisateur sera autorisé à se connecter.
Une fois créé l’utilisateur, Nous allons donner la permission uniquement pour les Opérations SELECT sur la base de données. Pour ce faire, Exécutez la commande suivante:
1 | mysql > GRANT SELECT ON *.* TO 'nombre_usuario'@'%'; |
De cette façon vous donnez autorisation en lecture seule Cet utilisateur pour toutes les bases de données Serveur, Bien que Vous pouvez limiter encore plus de privilèges, et peut donner la permission à une seule base de données, simplement de cette façon:
1 | mysql > GRANT SELECT ON nombre_base_de_datos.* TO 'nombre_usuario'@'%'; |
Fois créé l’utilisateur et privilèges assignés, peut faire le test Ceux-ci ne fonctionnent pas correctement. Pour ce faire, ferme la session précédente avec le serveur et ouvre une nouvelle session avec cet utilisateur:
1 | $ mysql -u nombre_usuario -p |
Fois consigné dans, Sélectionnez la base de données sur laquelle vous avez donné la permission et test pour faire une INSERT ou update données existantes:
1 2 3 | mysql > USE nombre_base_de_datos; mysql > UPDATE nombre_tabla SET nombre_campo = 'valor_campo' WHERE ID = identificador; ERROR 1142 (42000): UPDATE command denied to user 'nombre_usuario'@'%localhost' for table 'nombre_tabla'; |
Vous êtes prêt! Vous venez de créer un nouvel utilisateur dans votre Base de données MySQL et vous avez fait ont seulement privilèges de lecture seule, éviter de faire une sorte de changement sur les bases de données auxquelles vous avez accès.
