petit probleme avec mysql [shell] - Shell/Batch - Programmation
Marsh Posté le 07-02-2003 à 00:04:31
grant [...] to 'user'@'%'
Marsh Posté le 07-02-2003 à 00:05:07
et alors faudrait voir à pas confondre table et base, c pas vraiment la meme chose
Marsh Posté le 07-02-2003 à 10:14:05
--greg-- a écrit : et alors faudrait voir à pas confondre table et base, c pas vraiment la meme chose |
en fait je veux une base du nom de l'user
Marsh Posté le 07-02-2003 à 11:30:59
Zaib3k a écrit : |
ben ton script il crée une base avec le nom de l'user
Marsh Posté le 07-02-2003 à 11:55:44
--greg-- a écrit : grant [...] to 'user'@'%' |
marche pas
ERROR 1064 at line 1: You have an error in your SQL syntax near 'titi' at line 1 |
Marsh Posté le 07-02-2003 à 11:58:20
Code :
|
c la 2eme ki chie.
edit : j'ai testé direct en console
root@zaibserver:~# mysql -uroot -ppassword -e "create database toto;" |
ca m'nrv
Marsh Posté le 07-02-2003 à 12:14:46
t'es bouché ou quoi?
... to 'toto'@'%' identified by 'totopassword'
Marsh Posté le 07-02-2003 à 14:05:20
--greg-- a écrit : t'es bouché ou quoi? |
ok ok, pour les ''. je les ai mis.
par contre, now ca deconne encore :
root@zaibserver:~# ./test1.sh pass tito tito |
je veux donner les droits sur la bdd et pas sur une table tito.
j'ai testé en rajoutant un "use $2;" avec le grant mais la il me dit qu'il ne trouve pas de tito.tito. normal
pour ajouter un user et lui donner des droits , c bien comme ca pourtant, non ?
Marsh Posté le 07-02-2003 à 14:21:18
c bon mon script fonctionne.
mysql -uroot -p$1 -e "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON $2.* TO '$2'@'%' IDENTIFIED BY '$3';" |
ca c bon, mais apres je ne peux pas me connecter a mysql, ni par phpmyadmin, ni en console.
dans phpmyadmin, je vois l'user avec aucun droit, et dans "autres privileges" il ya bien les droits definit sur sa bdd. il me manque quoi ?
Marsh Posté le 07-02-2003 à 15:05:41
c bon ca marche. j'ai remplacé le @'%' par @'localhost' et ca roule. me demander pas pourquoi ca marche
Marsh Posté le 07-02-2003 à 15:11:05
Zaib3k a écrit : c bon ca marche. j'ai remplacé le @'%' par @'localhost' et ca roule. me demander pas pourquoi ca marche |
bah vais pas te le demander.
si tu vois savoir tu peux tjs demander
Marsh Posté le 07-02-2003 à 15:56:39
--greg-- a écrit : bah vais pas te le demander. |
mais pourquoi ca marche maintenant ?
et sais tu comment faire pour que lorsque la base existe deja, il me le dise ?
Marsh Posté le 07-02-2003 à 23:06:51
Zaib3k a écrit : |
parce que ce que tu fais c'est donner des droits à un user, se connectant depuis un host donné, sur une base.
* grant select on bazalacon to 'greg'@'blabla.com' identified by 'monpass'
--> je ne pourrai me connecter sur la base bazalacon que depuis "blabla.com"
* pareil avec 'greg'@'%' ... --> je pourrai me connecter depuis n'importe quel host (% etant le 'wildcard' dans ce cas-ci) ... tu pourrais aussi faire 'greg'@'%.wanadoo.fr', je ne pourrai me connecter sur la base que depuis un host de wanadoo... etc etc...
* cas particulier non repris par le '%', c'est 'localhost', c-a-d la machine ou tourne la base.
comme apparement tu fais du php pour attaquer ta base et que manifestement les 2 sont sur la meme machine, t'as compris koi.
et pour ta 2e question, si la base (arrete de confondre), la 1e ligne de ton script generera une erreur
Marsh Posté le 07-02-2003 à 23:11:30
arf, j'avais pas vu que je parlais de table depuis le debut. j'etais persuadé que je parlais de base. désolé
je vais editer tout ca.
merci bcp --greg--
Marsh Posté le 07-02-2003 à 23:39:19
pas de quoi
tu veux etre mon boolay?
Marsh Posté le 07-02-2003 à 23:49:21
Reply
Marsh Posté le 06-02-2003 à 22:56:25
je connais pas bien la syntaxe des shell script mais j'ai essayé un truc. un script qui prend en parametre le mdp root, le nom de l'utilisateur a ajouter et son mot de passe. ce script devra créé une bdd du nom de l'user et donné les droits a l'utilisateur sur cette table et ca devra me dire si la table existe deja.
c peut etre pas tres claire , je veux faire comme sql.free.fr
pour l'instant j'ai fait ca :
et comme par hasard, ca me donne :
root@zaibserver:~# ./test1.sh password toto titi
ERROR 1064 at line 1: You have an error in your SQL syntax near '% IDENTIFIED BY titi' at line 1
done
la base toto a bien été créée mais pas l'user.
help
merci
Message édité par Zaib3k le 07-02-2003 à 23:12:18