PDA

Pogčedajte punu verziju : Mysql - konekcija sa drugo server


bluesman
17. 01. 2006., 13:48
Ne mogu nigde da nađem setovanje za mysql kako da mu dozvolim da se konektuje sa drugog servera.

Želim da u lokalnoj mreži može neko da se konektuje na mysql client konzolu direktno. Gledam my.ini ali ne vidim ništa.

marinowski
17. 01. 2006., 15:42
MySQL mora da radi u networking modu ...

Moze direktno da se unese u mysql.user tabelu, recimo, ali puno je bolje ovako:
http://dev.mysql.com/doc/refman/5.0/en/grant.html

dinke
17. 01. 2006., 16:34
To sa kog hosta želiš da pristupaš, definiše se u mysql.user tabeli, konkretno host polje. Moguće vrednosti su recimo:

localhost - pristup samo sa lokalne masine
194.247.202.254 - pristup samo sa ove ip adrese
% - neogranicen pristup sa bilo kod hosta.

Za jednog usera može postojati više entrija u toj tabeli (recimo za svaki IP posebno, da te to ne zbuni).

Slažem se sa Zigorom da je bolje to setovati grant k-dom, ali mene obično mrzi da kopam po manualu, pa to odradim ovako ručno. Ako menjaš ovako kao što sam opisao gore, ne zaboravi da izvršiš flush privileges nakon toga. Ako koristiš grant, nije potrebno.

bluesman
17. 01. 2006., 19:01
Sve sam to podešavao i ručno i preko MySQL administrator (Fenomenalan program, preporučujem) i ništa ne pomaže.

Čak sam namestio, pošto sam našao na nekom forumu da može da bude problem nekompatibilnost klijenata (u putanju je Zend Debugger koji ne može da ostvari konekciju sa susednog računara) da se namesti "user_old_password"... i dalje ništa.

znači postoji root@localhost i root@% i oboje imaju sva prava. I ne radi.

dinke
17. 01. 2006., 19:44
Za pocetak probaj da se konektujes direktno iz mysql cmdline klijenta sa tog hosta gde ti je Zend Debugger:
mysql -u user -p pasword -h host imebaze

Ako to radi, onda je problem do Zend Debuggera.

marinowski
17. 01. 2006., 20:07
Da li ti MySQL sigurno radi u network modu? Nomenklatura se menjala iz verzije u verziju, tako da negde u .ini fileu imas skip-networking, a negde bind-address 127.0.0.1, pa samo sa localhosta mozes da pristupis.

Ako to nije slucaj, onda MySQL treba da slusa na portu 3306. Mozda si lose zadao pravilo. Probaj sa nekim drugim userom, ne root-om, da ne zeznes osnovna prava :)

Makar, jos uvek mislim da je lakse da se stavi
grant all privileges on ...

bluesman
17. 01. 2006., 20:25
Sve to ima ... i imaju sve privileges. Cak sam kreirao i novog usera sa svim privlieges koji moze da pristupa sa bilo kog hosta... kreirao sam i jednog usera koji moze da pristupi bas sa tig hosta, pa sa te ip adrese... i uvek isto.

zextra
17. 01. 2006., 23:35
probaj iz nekog externog foldera da pokrenes mysqld.exe --help --verbose, i potrazi u varijablama aktivna podesavanja koja server koristi. moguce je da se my.ini ne nalazi na pravom mestu (ja ga obicno drzim u c:\ na win, alternativni naziv fajla je my.cnf). zatim, moguce je da si menjao (ako si menjao) pogresnu sekciju ini-ja - treba da menjas [mysqld], mada je ovo malo verovatno, retko ko tu pogresi :) ako je sve ovo u redu, sto rece ziggor, verovatno bi trebalo jos da dodas bind-address = NEKI_LAN_IP u [mysqld] sekciju u my.ini.

sto se tice grant komande:
grant all privileges on 'database'.'*'
to 'user'@'host' authenticated by 'password';

bluesman
18. 01. 2006., 06:09
Ček, ti u stvari sve vreme govoriš da ja u stvari ne znam ni koji fajl editujem za koji ne znam ni gde se nalazi a ne znam ni koju sekciju editujem, pored toga iako sam dodavao grants za usere ručno, ti mi ipak pomažeš sa komandom ? :)

Hvala na želji i strpljenju ali nisi mi pomogao ni malo :)

bluesman
18. 01. 2006., 11:10
Proradilo je, stavio sam u my.ini:

#Use old password encryption method (needed for 4.0 and older clients).
old-passwords

Mada ne kapiram, to sam i juce uradio, restartovao service i opet nije radilo. Ne mogu da verujem da je bio potreban restart OS da bi proradilo.

zextra
18. 01. 2006., 15:08
Odlicno ;)