Hlavnß strßnka · DiskusnΘ F≤rum · PracovnΘ prφle₧itosti · Zoznam

 Main Menu
o Hlavnß strßnka
o Zoznam tΘm
o Zoznam
o OdporuΦte nßs
o U₧φvatelia
o VaÜe konto
o Pridaj Φlßnok
o ètatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyh╛adßvanie
o F≤rum
o Workoffice
o Zoznam Φlßnkov
o Reklama
o Pridaj Φlßnok
o Pridaj novinku

NapφÜte nßm
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Äiv∞.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o F≤rum ::
o Markup languages
o ScriptovΘ jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tΘmu ::

 PracovnΘ prφle₧itosti
o Pon·kate prßcu?
o H╛adßte prßcu?

 Autori developer.sk
o Martin NemeΦek
o SvΣ¥o Straka
o Jany Masaryk
o Jozef Murφn

 
MySQL [ 24. July 2000] - Martin_Nemecek
MySQL Φas¥ jedenßsta - nastavovanie prφstupov²ch prßv
Databßzu a tabu╛ky mßme hotovΘ, naplnili sme si ich aj ·dajmi, r⌠znym sp⌠sobom sme si ich sk·Üali vybera¥, ∩alej sme ich modifikovali a mazali, menili Ütrukt·ru tabu╛ky. Dnes naÜim tabu╛kßm pridelφme zodpovedaj·ce prφstupovΘ prßva.



Hlavn²m d⌠vodom je ich zabespeΦenie pred nepovolan²m a neautorizovan²m prφstupom. Pre ka₧d· tabu╛ku v databßze m⌠₧eme nadefinova¥, ktor² u₧φvate╛ mß k nej prφstup a na akej ·rovni. ╚i₧e akΘ operßcie s ≥ou m⌠₧e vykonßva¥. K nastaveniu t²chto prφstupov²ch prßv sl·₧i prφkaz GRANT. Jeho pou₧itie je nasledovnΘ:

GRANT /prßva/
ON /nazov_tabulky/
TO /meno_uzivatela/

Polo₧ka /prßva/ zodpovedß nastaveniu prφstupov²ch prßv na dan· tabu╛ku. Na tomto mieste m⌠₧eme pou₧i¥ nieko╛ko prφkazov MySQL, na ktorΘ sa bude pridelenie prφstupovΘho prßva vz¥ahova¥. Jednß sa o tieto prφkazy: SELECT, INSERT, UPDATE a DELETE. Ak chceme prideli¥ vÜetky prφstupovΘ prßva na dan· tabu╛ku, pou₧ijeme prφkaz ALL.

Za ON v naÜom prφklade musφ nasledova¥ meno tabu╛ky, pre ktor· danΘ oprßvnenia nastavujeme. Na zßver, za TO, zadßme u₧φvate╛a na ktorΘho sa danΘ nastavenie vz¥ahuje.

Nad databßzou, ktor· ·₧φvate╛ vytvoril mß vΣΦÜinou absol·tne prßva a je oprßvnen² na nej vykonßva¥ akΘko╛vek operßcie. Ak vÜak vytvorφme script, pomocou ktorΘho budeme otvßra¥ naÜu db a pracova¥ s ≥ou, je v²hodnejÜie - z bespeΦnostnΘho h╛adiska vytvori¥ novΘho u₧φvate╛a a prideli¥ mu len tie prßva, ktorΘ s· nevyhnutnΘ na prßcu s db.

Ak teda chceme u₧φvate╛ovi "nobody" povoli¥ pln² prφstup k tabu╛ke "Videofilmy", pou₧ijeme nasledovn² prφkaz:

GRANT ALL ON Videofilmy TO nobody

Ke∩ budeme chcie¥ u₧φvate╛ovi "nobody" da¥ iba prφstup na prezeranie tabu╛ky, pou₧ijeme nasledovn² zßpis:

GRANT SELECT ON Videofilmy TO nobody

Ak budeme potrebova¥ z nejakΘho d⌠vodu odobra¥ urΦitΘmu u₧φvate╛ovi prφstupovΘ prßva do nejakej tabu╛ky, urobφme to jednoducho pomocou prφkazu REVOKE:

REVOKE /prßva/
ON /nazov_tabulky/
TO /meno_uzivatela/

Nie je vÜak vÜetko takΘ jednoduchΘ ako na prv² poh╛ad vypadß. Tento systΘm pride╛ovania a odoberania prφst. prßv nefunguje na vÜetk²ch serveroch. Prφkaz GRANT toti₧ vÜetky serveri nepodporuj·. Aj ke∩ sa sφce tvßria ₧e ßno (ke∩ prφstupovΘ prßvo pomocou GRANT pridelφte, vÜetko vypadß o.k, server neprotestuje a₧ na jednu drobnos¥ - prφstup nefunguje...) P⌠jdeme na to teda inak. A sφce takto:

Najsk⌠r sa prihlßsφme do db ako root:

mysql - u root -p mysql

Teraz pridßme u₧φvate╛a "deep" s heslom "214@abc" a predpokladajme ₧e sa bude m⌠c¥ hlßsi¥ len z lokßlnΘho stroja. To znamenß, ₧e web server musφ be₧a¥ na lokßlnom poΦφtaΦi, teda tom na ktorom sa bude hlßsi¥ u₧φvate╛ "deep". Teraz pridßme u₧φvate╛a "deep" do tabu╛ky u₧φvate╛ov "user":

INSERT INTO user (host, user, password)
VALUES ('localhost', 'deep', password('214@abc'));

U₧φvate╛a sme pridali, teraz nßm u₧ zostßva prida¥ mu prφstupovΘ prßva (rozhodneme sa pre Φφtanie z db-moja_databaza):

INSERT INTO db (host, db, user, select_priv)
VALUES ('%', 'moja_databaza', 'deep', 'Y');

Ak by sme chceli u₧φvate╛ovi "deep" prideli¥ aj inΘ prφstupovΘ prßva, pomocou prφkazu INSERT s prφznakom 'Y' nastavφme ∩alÜie polo₧ky: insert_priv, delete_priv, update_priv.

Po zmene prφstupov²ch prßv je potrebnΘ aby si ich MySQL server znovu naΦφtal. To m⌠₧eme uskutoΦni¥ pomocou nasledovnΘho prφkazu:

mysql -u root -p reload


 
 PrφsluÜnΘ odkazy k tΘme
Viac o tΘme: MySQL | InΘ Φlßnky od: Admin | PoÜli komentßr | Strßnka vhodnß na tlaΦ width=15 height=11  PoÜli tento Φlßnok priate╛ovi, znßmemu width=15 height=11


NajΦφtanejÜie Φlßnky MySQL:
MySQL Φas¥ Ütrnßsta - najΦastejÜie kladenΘ otßzky

╧alÜie Φlßnky v rubrike MySQL:

 

"MySQL Φas¥ jedenßsta - nastavovanie prφstupov²ch prßv" | Login / vytvor konto | 3 Komentßrov
Prah
Za obsah komentßrov je zodpovedn² u₧φvate╛, nie prevßdzkovate╛ t²chto strßnok.

chyba (Sk≤re: 0)
k²m: Anonym d≥a 26. April 2001

posledni prikaz by podle mne mel znit
mysqladmin -u root -p reload. honza p.

[ Odpove∩ ]

Re: MySQL Φas¥ jedenßsta - nastavovanie prφstupov²ch prßv (Sk≤re: 0)
k²m: Anonym d≥a 19. May 2001

Uz je to nejaky dlouhy cas, co jsem tu cetl takovyto clanek ohledne pridelovani prav, a ze je nutne MySQL reloadnout a pote take uplne vypnout a zapnout. Literatury sice uvadeji, ze to staci jen reloadnout, ale zkusenost je takova, ze je potreba server po reloadu vypnout a zapnout. Opravdu mi to podle toho navodu fungovalo. Ale pokud to zkousim nyni, tak mi to nefunguje a nevim, kde delam chybu. pokud napisu: myslq -u root -p reload, tak se rpesi prihlasuju do DB reload a nasledne me to vyzve k zapsani hesla. Rozhodne tim nereloadnu server. Nejak si nyni nemohu vzpomenout, jak je prikaz pro reload, a proto sem vlastne pisi. Nemohu najit totiz ten clanek, co zde byl uveden a opravdu mi to podle neho fungovalo.
Diky.
debak@hkcz.cz

[ Odpove∩ ]




AutorskΘ prßva: á ⌐1999 - 2001 Developer Zone [developer@developer.sk]

VÜetky Φlßnky s· vlastnφctvom autorov Developer Zone. VÜetky prßva vyhradenΘ. Strßnky Developer.sk s· vytvorenΘ pomocou PHP-Nuke.
Odkazy na novΘ Φlßnky je mo₧nΘ prebera¥ pomocou:Backend.php.