Serverul MySQL lucreaz pe protocolul TCP/IP, ca i alte servicii Internet. Coneiunile se !i"eren#iaz !up nu$ele %ost&ului i nu$rul portului 'soc(et). I$plicit se "olosete portul **+,, !ar acesta este un para$etru ce se con"i-ureaz. Pentru conectarea la un server .n!eprtat tre/uie !e in!icat a!resa cu a0utorul op#iunii host. Portul alternativ se !a cu op#iunea port, nu$ele utilizatorului cu op#iunea user, parola cu op#iunea password. 1alorile op#iunii se in!ic !up se$nul e-al 2 shell mysql user=root password host=localhost port=3306 Enter password: Welcome to the MySQL monitor. ommands end with or !". #our MySQL connection id is $ to ser%er %ersion: 3.&3.36 3 alta $eto! ar "i2 shell' mysql -h localhost -u root p 4n!e 5% 5 este %ost&ul'a!resa serverului) la care ne conect(m ))u este utili*atorul pe care +l ,olosim la conectare ))p parola cu care ne autenti,ic(m. Crearea utilizatorilor i acordarea privilegiilor acestora: Pro-ra$a MySQL nu lucreaz cu lista utilizatorilor, care sunt .n siste$ul !e operare. 6a are o ta/el proprie cu utilizatori. 7ar !ac lucr-nd cu o pro"ram( client .i s( nu introducem numele utili*atorul +n timpul procesului de +nre"istrare pe ser%er/ se %a utili*a numele din sistem a utili*atorului. Pentru a sc%i$/a parola utilizatorului root, tre/uie !e pornit interpretatorul co$enzilor MySQL'$ys8l.ee) !e la nu$ele superutilizatorului. Cu a0utorul op#iunii 5user se ! nu$ele !e .nre-istrare. 9n cazul nostru interpretatorul !e co$enzi se pornete cu co$an!a2 mysql ))user=root mysql sau2 mysql 0u root use mysql1 cu a0utorul interpretatorului apelat, este necesar !e $o!i"icat !ou .nre-istrri .n ta/elul user, care #in !e utilizatorul root. :ceasta se "ace prin ur$toarea instruc#iune2 23456E user SE6 3assword = 35SSW7849:secret:; W<E8E 2ser = :root:1 Ca rspuns interpretatorul va $o!i"ica !ou .nre-istrri. 9n loc !e cuv;ntul secret tre/uie !e ales o parola $ai /un< :ceast parol tre/uie s se "oloseasc nu$ai pentru necesit#i a!$inistrative. Mai !eparte tre/uie !e anun#at serverul !e sc%i$/area privile-iilor. Pentru aceasta este !estinat instruc#iunea2 =L2S< 38>?>LE@ES1 3rice utilizator poate s !oreasc s&i creeze o /az !e !ate personal pentru propriile eperi$ente, !ar aceasta este per$is nu$ai utilizatorului root. 6l poate crea noi acount&uri pentru utilizatori i acor!a privile-iile necesare. 62 8E56E 4565A5SE test1 @85B6 5LL 7B test.C 67 userD:E: >4EB6>=>E4 A# 35SSW7849:secret:;1 Pri$a instruc#iune creeaz /aza !e !ate test. : !oua creeaz un acount pentru utilizatorul user i .i acor! toate !repturile asupra /azei !e !ate test. Parola !e acces este =secret>. 4tilizatorul user se poate conecta !e la orice calculator, c%iar !ac el se a"l .n re#eaua Internet. Sintaa co$enzii Grantacor!are! i "evo#erevoc! Pa-ina 1 !in ? Conspect la MySQL 19 @85B6 priv_type F9column_list;G F/ priv_type F9column_list;GG ... 7B Htbl_name I C I C.C I db_name.CJ 67 user F>4EB6>=>E4 A# F35SSW784G :password:G F/ user F>4EB6>=>E4 A# F35SSW784G :password:GG ... F8EQ2>8E B7BE I FHSSLI K$0LJG F>3<E8 :cipher: F5B4GG F>SS2E8 :issuer: F5B4GG FS2AME6 :subject:GG FW>6< with_option Fwith_optionG ...G with_option = @85B6 736>7B I M5KNQ2E8>ESN3E8N<728 count I M5KN23456ESN3E8N<728 count I M5KN7BBE6>7BSN3E8N<728 count 8E?7OE priv_type F9column_list;G F/ priv_type F9column_list;GG ... 7B Htbl_name I C I C.C I db_name.CJ =87M user F/ userG ... 8E?7OE 5LL 38>?>LE@ES/ @85B6 736>7B =87M user F/ userG ... Privile-iile pot "i acor!ate la !i"erite nivele2 $ivel Glo%al Privile-iile -lo/ale sunt aplica/ile la toate /azele !e !ate a"late pe server. :ceste privile-ii sunt stocate .n ta/ela mysql.user. @85B6 5LL 7B C.C si 8E?7OE 5LL 7B C.C acor! i revoc nu$ai privile-ii -lo/ale. La nivel de %az de date Privile-iile pentru /az !e !ate sunt aplica/ile nu$ai pentru ta/elele !in aceast /az !e !ate. :ceste privile-ii sunt stocate .n ta/elele mysql.dP i mysql.host. @85B6 5LL 7B db_name.C si 8E?7OE 5LL 7B db_name.C acor! i revoc nu$ai privile-ii la nivel !e @7. La nivel de ta%el Privile-iile pentru ta/ele sunt aplica/ile nu$ai pentru coloanele !in ta/el. :ceste privile-ii sunt stocate .n ta/ela mysql.taPlesNpri%. @85B6 5LL 7B db_name.tbl_name si 8E?7OE 5LL 7B db_name.tbl_name acor! i revoc nu$ai privile-ii la nivel !e ta/el. La nivel de coloan Privile-iile pentru coloane sunt aplica/ile nu$ai pentru coloanele !in ta/ela !at. :ceste privile-ii sunt stocate .n ta/ela mysql.columnsNpri%. C;n! utiliza#i 8E?7OE, tre/uie !e in!icat acele coloane la care au "ost acor!ate privile-ii. Pa-ina A !in ? Conspect la MySQL 19 Ta/ela cu !e !enu$irea privile-iilor i !escrierea lor2 &rivile'e (escrierea 5LL F38>?>LE@ESG :cor! !reptul !e a acor!a toate privile-iile .n a"ar !e @85B6 736>7B 5L6E8 :cor! !reptul !e a "olosi 5L6E8 65ALE 8E56E :cor! !reptul !e a "olosi 8E56E 65ALE 8E56E 6EM37858# 65ALES :cor! !reptul !e a "olosi 8E56E 6EM37858# 65ALE 4ELE6E :cor! !reptul !e a "olosi 4ELE6E 4873 :cor! !reptul !e a "olosi 4873 65ALE EKE26E Bu este i$pli$entat =>LE :cor! !reptul !e a "olosi SELE6 ... >B67 726=>LE i L754 4565 >B=>LE >B4EK :cor! !reptul !e a "olosi 8E56E >B4EK i 4873 >B4EK >BSE86 :cor! !reptul !e a "olosi >BSE86 L7O 65ALES :cor! !reptul !e a "olosi L7O 65ALES .n ta/elele .n care ave#i !reptul !e a "olosi SELE6 387ESS :cor! !reptul !e a "olosi S<7W =2LL 387ESSL>S6 8E=E8EBES Bu este i$pli$entat 8EL754 :cor! !reptul !e a "olosi =L2S< 8E3L>56>7B L>EB6 Per$ite utilizatorului !e a .ntre/a !ac server este principal'$aster) sau secun!ar'slave) 8E3L>56>7B SL5?E Se "olosete pentru replicarea secun!ar'slave) 'pentru a citi lo-&urile /inare !e eveni$ente !e pe serverul pri$ar'$aster) ) SELE6 :cor! !reptul !e a "olosi SELE6 S<7W 4565A5SES S<7W 4565A5SES arat toate @7 S<2647WB :cor! !reptul !e a "olosi )ys*lad)in shutdown S23E8 :cor! !reptul !e a "olosi co$enzile <5B@E M5S6E8, O>LL, 328@E M5S6E8 L7@S, si SE6 @L7A5L pentru )ys*lad)in de%u'C per$ite s ne conect$ c%iar !ac maQNconnections9nr maQimal de coneQiuni; este atins 23456E :cor! !reptul !e a "olosi 23456E 2S5@E Sinoni$ pentru Dno privile-esE @85B6 736>7B :cor! !reptul !e a acor!a privile-ii Pa-ina * !in ? Conspect la MySQL 19 + alt )odalitate de acorda privile'ii: Pri$a $eto! !e0a !escris anterior2 mysql' @85B6 5LL 38>?>LE@ES 7B C.C 67 ,erstDlocalhost >4EB6>=>E4 A# :someNpass: W>6< @85B6 736>7B1 mysql' @85B6 5LL 38>?>LE@ES 7B C.C 67 ,erstDRER >4EB6>=>E4 A# :someNpass: W>6< @85B6 736>7B1 mysql' @85B6 8EL754/387ESS 7B C.C 67 adminDlocalhost1 mysql' @85B6 2S5@E 7B C.C 67 doomDlocalhost1 Tot aceasta se poate !e e"ectuat cu a0utorul ur$toarei instruc#iuni2 mysql' >BSE86 >B67 user ?5L2ES 9:localhost:/:,erst:/35SSW7849:someNpass:;/:#:/:#:/:#:/:#:/:#:/:#:/ :#:/ :#:/:#:/:#:/:#:/:#:/:#:/:#:;1 mysql' >BSE86 >B67 user ?5L2ES9:E:/:,erst:/35SSW7849:someNpass:;/:#:/:#:/:#:/:#:/:#:/:#:/:# :/ :#:/:#:/:#:/:#:/:#:/:#:/:#:;1 mysql' >BSE86 >B67 user SE6 <ost=:localhost:/2ser=:admin:/8eloadNpri%=:#:/ 3rocessNpri%= :#:1 mysql' >BSE86 >B67 user9<ost/ 2ser/3assword; ?5L2ES9:localhost:/:doom:/::;1 mysql' =L2S< 38>?>LE@ES1 Instruc#iunea IBS6FT insereaz o .nre-istrare, !enu$irea creia $er-e !up cuv;ntul IBT3, .n apostro"e sunt in!icate !enu$irile c;$purilor, a"late .n ta/el. 7up 1:L46S $er- valorile =G> care in!ica !aca !reptul !at este inclus, iar =B> !ac !reptul este !e activat. Ta/elul user are ur$toarele c;$puri '!ate .n aceeai consecutivitate ca i .n realitate)2 I <ost I 2ser I 3assword I SelectNpri% I >nsertNpri% I 2pdateNpri% I 4eleteNpri% I reateNpri% I 4ropNpri% I 8eloadNpri% I ShutdownNpri% I 3rocessNpri% I =ileNpri% I @rantNpri% I 8e,erencesNpri% I >ndeQNpri% I 5lterNpri% I Pa-ina ? !in ?