WD12 - MySQL 4.1, droits users

Le
I.G.LOG
Bonjour,

Je développe depuis 2 semaines une procédure pour gérer dans l'application
les multi-sociétés. Cette procédure crée une base de données vierge et
recopie certaines informations "communes". J'ai lancé le test sur mon poste
de développement, celui-ci fonctionne sans problème (je suis logué en root).
Mais en production (serveur Linux MySQL 4.1.9) impossible car j'ai
invariablement une erreur 1044 access denied ! En effet, les users (tauser)
ne sont pas root et ne possèdent donc pas les droits de création de
database.

Sur le serveur MySQL, j'ai tout essayé sans succès:

GRANT CREATE ON *.* TO 'tauser'@'%';
FLUSH PRIVILEGES;
etc

J'ai même exécuté l'utilitaire mysql_fix_privileges, rien n'y fait, pas
moyen d'avoir les droits de création de database !!
Pour m'en sortir temporairement j'ai créé à la main la database, puis j'ai
donné les droits par
GRANT ALL ON ta_base.* TO 'tauser'@'%';
J'ai ainsi pu installer la mise à jour de l'appli.
Mais la fonction de création de société ne fonctionnera pas à cause de ces
droits !! Est-ce que j'ai travaillé tout ce temps pour rien ?

Merci à tous ceux qui pourront m'aider

Nota: j'ai posté sur un forum MySQL sans réponse qui me sorte de cette
galère
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #20600211
I.G.LOG a écrit :
Bonjour,

Je développe depuis 2 semaines une procédure pour gérer dans l'application
les multi-sociétés. Cette procédure crée une base de données vierge et
recopie certaines informations "communes". J'ai lancé le test sur mon poste
de développement, celui-ci fonctionne sans problème (je suis logué en root).
Mais en production (serveur Linux MySQL 4.1.9) impossible car j'ai
invariablement une erreur 1044 access denied ! En effet, les users (tauser)
ne sont pas root et ne possèdent donc pas les droits de création de
database.

Sur le serveur MySQL, j'ai tout essayé sans succès:

GRANT CREATE ON *.* TO 'tauser'@'%';
FLUSH PRIVILEGES;
etc...

J'ai même exécuté l'utilitaire mysql_fix_privileges, rien n'y fait, pas
moyen d'avoir les droits de création de database !!
Pour m'en sortir temporairement j'ai créé à la main la database, puis j'ai
donné les droits par
GRANT ALL ON ta_base.* TO 'tauser'@'%';
J'ai ainsi pu installer la mise à jour de l'appli.
Mais la fonction de création de société ne fonctionnera pas à cause de ces
droits !! Est-ce que j'ai travaillé tout ce temps pour rien ?

Merci à tous ceux qui pourront m'aider

Nota: j'ai posté sur un forum MySQL sans réponse qui me sorte de cette
galère





Bonjour,

Il faut que l'utilisateur que tu utilises aient les droits minimums pour
accepter ces commandes.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
I.G.LOG
Le #20601671
>
Bonjour,

Il faut que l'utilisateur que tu utilises aient les droits minimums pour
accepter ces commandes.




Bonjour,
j'ai tapé les commandes "grant create on *.* to 'tauser'@'%'" et "flush..."
en root ! et malgré ça rien n'y fait !
Et pourtant après avoir créé la base, les comandes suivantes ont bien abouti
puisque j'ai pu créer des tables etc... sous user 'tauser' !?
On dirait que la commande "grant create" n'est pas prise en compte ?
Encore merci pour tes réponses
Vincent
Le #20610611
I.G.LOG a écrit :
Bonjour,

Il faut que l'utilisateur que tu utilises aient les droits minimums pour
accepter ces commandes.




Bonjour,
j'ai tapé les commandes "grant create on *.* to 'tauser'@'%'" et "flush..."
en root ! et malgré ça rien n'y fait !
Et pourtant après avoir créé la base, les comandes suivantes ont bien abouti
puisque j'ai pu créer des tables etc... sous user 'tauser' !?
On dirait que la commande "grant create" n'est pas prise en compte ?
Encore merci pour tes réponses




Salut,

J'ai eue pas mal de problèmes avec MySQL en faisant les test en local et
en distant (mon programme sauve la base distante et l'importe dans la
base locale et inversement).
J'ai eue des problèmes de droits access denied... en fait MSQL sur
Windows ne tient pas compte de la caste alors que sous linux oui !!!

ma base sous linux MySQL se nommait "CLIENTS" mais sous windows le même
script créait une base "clients" (idem pour les tables)
J'ai donc mis tout en minuscule. car un "use clients" sur linux ne
marche si la base se nomme "CLIENTS"

coté droits :

je suis root en local,en distant j'ai un user ALL PRIVILEGES sur la base
clients uniquement.

didier

www.obtuli.fr
Roumégou Eric
Le #20611621
Vincent a utilisé son clavier pour écrire :
I.G.LOG a écrit :




ma base sous linux MySQL se nommait "CLIENTS" mais sous windows le même
script créait une base "clients" (idem pour les tables)
J'ai donc mis tout en minuscule. car un "use clients" sur linux ne marche si
la base se nomme "CLIENTS"




tiens cela reviens à ce que je disais plus haut (en fait non dans le
forum d'en face). Les produits ou systèmes sont permissifs mais pas de
façons incohérentes. Mysql Windows n'est pas casse sensitif (pire meme
il passe toutes les tables en minuscules), alors que mysql linux l'est
!
Moralité : passer d'une base mysql de windows à linux peut être un pb
et nécessiter de revoir ses requêtes. M'a toujours énervé ça !

On te laisse faire un truc d'un côté et on te le renvoie en pleine g...
de l'autre.


mais désolé cela ne répond pas à ta question.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Roumégou Eric
Le #20611611
(supersedes
Vincent a utilisé son clavier pour écrire :
I.G.LOG a écrit :




ma base sous linux MySQL se nommait "CLIENTS" mais sous windows le même
script créait une base "clients" (idem pour les tables)
J'ai donc mis tout en minuscule. car un "use clients" sur linux ne marche
si la base se nomme "CLIENTS"




tiens cela reviens à ce que je disais plus haut (en fait non dans le
forum d'en face). Les produits ou systèmes sont permissifs mais pas de
façons cohérentes. Mysql Windows n'est pas casse sensitif (pire meme il
passe toutes les tables en minuscules), alors que mysql linux l'est !
Moralité : passer d'une base mysql de windows à linux peut être un pb
et nécessiter de revoir ses requêtes. M'a toujours énervé ça !

On te laisse faire un truc d'un côté et on te le renvoie en pleine g...
de l'autre.


mais désolé cela ne répond pas à ta question.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
I.G.LOG
Le #20612011
>
J'ai eue pas mal de problèmes avec MySQL en faisant les test en local et
en distant (mon programme sauve la base distante et l'importe dans la base
locale et inversement).
J'ai eue des problèmes de droits access denied... en fait MSQL sur Windows
ne tient pas compte de la caste alors que sous linux oui !!!

ma base sous linux MySQL se nommait "CLIENTS" mais sous windows le même
script créait une base "clients" (idem pour les tables)
J'ai donc mis tout en minuscule. car un "use clients" sur linux ne marche
si la base se nomme "CLIENTS"

coté droits :

je suis root en local,en distant j'ai un user ALL PRIVILEGES sur la base
clients uniquement.

didier




Bonjour,
le problème ne vient pas de ça - je suis tout en minuscules !
le problème vient que je n'arrive pas à donner les droits CREATE (création
de database) à un user alpha (en l'occurrence "tauser")
Malgré la commande GRANT CREATE ON *.* TO 'tauser'@'%' , la procédure
exécutée par tauser "CREATE DATABASE ..." plante avec l'erreur 1044, access
denied.
Comment peut-on donner les droits de création de base à un user ?
Encore merci
Publicité
Poster une réponse
Anonyme