Octroi de l'autorisation CREATE TABLE à l'Utilisateur MySQL
J'ai une base de données qui est partagée entre les utilisateurs, et je veux gérer les autorisations sur ce.
Je veux donner l'autorisation pour la création d'une nouvelle table, et l'accès (select, insert, update, delete) à la table de cours, pour un utilisateur qui ne dispose pas de toutes les autorisations sur la base de données (seulement il a SÉLECTIONNEZ l'accès à certaines tables).
Donc, j'ai exécuté cette requête:
GRANT CREATE ON eh1 TO user1
Puis, quand je me suis connecté avec l'utilisateur et tenté de créer une nouvelle table, j'ai eu cette erreur:
1142 - CRÉER command denied to user 'user1'@'localhost' de la table 'folan'
Quel est le problème ici? Comment puis-je le faire?
Mise à JOUR
Le problème a été résolu en partie par la modification de la commande:
GRANT CREATE ON eh1.* TO user1
Maintenant, il y a un autre problème, que la user1 ne peut pas les sélectionner ou de les insérer dans la table nouvellement créée. La raison en est compréhensible, mais est-il un moyen de résoudre ce problème?
Grâce
OriginalL'auteur Ahmad | 2015-09-02
Vous devez vous connecter pour publier un commentaire.
utiliser comme ci-dessous-
Remarque: '%' fournira l'accès de toutes les adresses ip, de sorte que nous devrions fournir des droits de propriété intellectuelle spécifiques au lieu de toutes les adresses ip, le changement '%' avec un ip comme "191.161.3.1'
Si l'utilisateur a besoin de select/insert/update/delete/créer des droits de la syntaxe -
Mise à jour selon les exigences de l'utilisateur:
vérifiez d'abord quels sont les droits du besoin de l'utilisateur et d'attribuer tous les droits requis..si l'utilisateur a besoin pour vérifier les tables de données et insérer/mettre à jour/supprimer ensuite les droits d'être comme je suis à jour dans ma réponse..
Je ne veux pas permettre à l'utilisateur d'accéder à toutes les tables dans la base de données. Seulement quelques tables, et les tables créées par lui.
Selon mes connaissances il n'est pas propriétaire de la table concept de mysql, de sorte que vous avez à la liste sur la table qui vous souhaitez donner accès à qui.
OK, il semble y avoir aucun moyen. C'est parce que de pauvres système de droits de mysql.
OriginalL'auteur Zafar Malik
Suivantes cette, la syntaxe correcte est
Avec eh1 une base de données.
Si vous n'utilisez pas ".*", votre base de données est considérée comme un tableau.
Intéressant question de.... D'enquêter sur elle
OriginalL'auteur Stefano P.