Një tipar karakteristik i MySQL është siguria e tij, duke u mbështetur në mbrojtjen e jashtme. Si një sistem modern, me funksione të plota dhe efikas të menaxhimit të bazës së të dhënave, MySQL ka mjetet e veta për menaxhimin e përdoruesve dhe aksesin e tyre në burimet që kontrollon.
Nëse nuk e dini emrin e saktë të përdoruesit dhe fjalëkalimin, qasja në bazën e të dhënave nëpërmjet MySQL është shumë e vështirë.
Në modalitetin normal të pritjes, kjo është e mjaftueshme. Situatat e paparashikuara, sulmet e hakerëve dhe problemet e tjera janë çështje e administrimit të sistemit të jashtëm dhe shërbimeve të sigurisë. Ky koncept është bërë tradicional dhe praktikisht nuk diskutohet.
Instaloni serverin MySQL dhe rrënjën e përdoruesit
Në çfarëdo mjedisi operativ që është instaluar sistemi i menaxhimit të bazës së të dhënave, ai gjithmonë ka të paktën një përdorues: root. Instaloni MySQL, krijoni një përdorues me të gjitha të drejtat rrënjësore - pa këtë, punoni me tëserveri nuk është i mundur. Privilegjet e këtij përdoruesi janë të mjaftueshme për të:
- krijoni dhe administroni përdorues të rinj;
- krijoni dhe menaxhoni bazat e të dhënave.
Është thelbësisht e mundur që përdoruesit "pa fjalëkalim" të ekzistojnë në MySQL, por kjo është e papranueshme.
Praktikë e zakonshme:
- server i instaluar në kompjuterin e vet, ku mund të instalohet hosti (opsioni lokal);
- serveri është në pritje publike në internet.
Në rastin e parë, është e mundur të punohet me serverin nga linja e komandës dhe të përdoret phpMyAdmin, në rastin e dytë, vetëm phpMyAdmin ose një mjet i ngjashëm, por linja e komandës mund të aksesohet përmes qasjes në distancë SSH.
Mjetet e vetë administrimit
Ndjenja e farefisnisë me familjen Unixoid dhe me të kaluarën nga serverët Apache është një shenjë dalluese e MySQL: krijimi i përdoruesit është një linjë komande me sintaksë të çuditshme. Për profesionistët që punojnë me Linux dhe sisteme të ngjashme, kjo është aq e njohur sa duket e egër në sytë e përdoruesve të Windows që nuk kanë "hyrë kurrë në jetën reale".
Krijimi i një përdoruesi fillon me fillimin e linjës së komandës së serverit. Në një mjedis Windows, kjo bëhet si më poshtë.
Së pari (1) duhet të ekzekutoni vijën e komandës si administrator, më pas shkoni te dosja ku ndodhet MySQL (2), më pasnisni vetë serverin (3):
mysql -u… -p
këtu "-u…" dhe "-p" janë çelësat që tregojnë emrin "…"=rrënjë (ose emër tjetër) dhe fjalëkalimin e tij. Në parim, një përdorues mund të mos jetë root, por ai që ka të drejta "root" (administrative).
E rëndësishme: serveri në fakt është gjithmonë në punë, këtu mysql -u… -p është komanda për të hyrë në server, jo për ta nisur atë.
Në një mjedis Linux dhe sisteme të ngjashme, një komandë e tillë është një veprim "vendas" dhe, si rregull, përcaktohet thjesht duke nisur mysqld në vendin e duhur (në rrugën e duhur), kjo duhet të kontrollohet me administratori. Këtu zakonisht ka një emër tjetër: jo mysql, por mysqld. Gjithashtu këtu, ky veprim nuk është gjithmonë i disponueshëm për të gjithë përdoruesit (të sistemit operativ, jo të serverit MySQL). Ndryshe nga Windows, në Linuxoids, rendi dhe siguria janë një kërkesë e natyrshme dhe e panegociueshme, e cila trajtohet gjithmonë në mënyrë të civilizuar.
Në çdo rast, pasi të ketë filluar mysql, do ta shpallë këtë me një kërkesë (4):
mysql>
dhe do të jetë e mundur të punohet si me përdoruesit ashtu edhe me bazat e të dhënave.
Shënim. Kur instaloni në një mjedis Windows, gjithçka: Apache, MySQL, PHP, phpMyAdmin mund të vendosen në shtigjet e paracaktuara, por rekomandohet të përdorni vendndodhje më kompakte dhe më të afërta për këto mjete të rëndësishme:
- c:\SCiA\Apache;
- c:\SCiA\PHP;
- c:\SCiA\MySQL;
- …
- c:\SCiB\localhost\www\phpMyAdmin;
- c:\SCiB\site1\www;
- c:\SCiB\site2\www;
- …
- c:\SCiB\siteN\www\.
Kjo logjikë jo vetëm që do të thjeshtojë administrimin, por gjithashtu do të zgjerojë aftësinë e zhvilluesit për të lëvizur ndërmjet versioneve të produktit dhe për të menaxhuar funksionalitetin e tyre.
Puna në linjën e komandës MySQL
Pasi serveri të jetë përgjigjur dhe të sigurojë linjën e tij të komandës, përdoruesit mund të krijohen dhe t'u caktohen lejet.
Në këtë shembull, komanda e krijimit të përdoruesit krijoi përdoruesin Petrov me fjalëkalimin 123DFG. Nëse bëhet një gabim gjatë futjes së një komande, serveri ofron ta korrigjojë atë, por është më mirë të mos bëni kurrë gabime kur punoni në vijën e komandës!
Komanda e mëposhtme jep të gjitha privilegjet i jep të gjitha të drejtat për gjithçka. Komanda flush mund të hiqet, por ajo 'shfaqet' bufferin e komandave, domethënë, rregullon ekzekutimin e tyre.
MySQL: krijoni një përdorues dhe jepni të drejta për bazën e të dhënave
Komanda e përdorur në shembullin:
JENI TË GJITHA PRIVILEGJET NË. 'Petrov'@'localhost';
në fakt i jep përdoruesit Petrov qasje në të gjitha bazat e të dhënave (ylli i parë) në të gjitha tabelat (ylli i dytë).
Si një rregull i përgjithshëm i MySQL, krijimi i një përdoruesi është:
GRANT [lloji i privilegjit] ON [emri i bazës së të dhënave].[emri i tabelës] TEK '[përdoruesi]'@'localhost';
Lejohen privilegjet e mëposhtme:
- TË GJITHA PRIVILEGJET - të gjitha të drejtat.
- CREATE - e drejta për të krijuar tabela/baza të reja të të dhënave.
- DROP - e drejta për të hequr tabelat/bazat e të dhënave.
- DELETE - e drejta për të fshirë informacionin në tabela.
- INSERT - e drejta për të shkruar informacion në tabela.
- SELECT - e drejta për të lexuar informacion nga tabelat.
- UPDATE - e drejta për të përditësuar informacionin në tabela.
- GRANT OPTION - e drejta për të punuar me privilegjet e përdoruesve të tjerë.
Nga pikëpamja praktike, në MySQL "krijo një përdorues" nënkupton tre opsione për të drejtat:
- të gjitha të drejtat për të gjitha bazat e të dhënave dhe të gjithë përdoruesit;
- lexo dhe shkruaj;
- vetëm për lexim.
Opsione të tjera për dhënien e të drejtave kërkohen rrallë. Në mjedisin Linux, ka shumë më tepër baza për liri (dhe nevojë) "ligjore", por ka shumë më tepër mundësi atje sesa në Windows.
Operacioni i kundërt i MySQL "krijo përdorues" është rënia.
hiq përdoruesin 'Petrov'@'localhost';
Pas ekzekutimit të kësaj komande, Petrov nuk do të jetë më përdorues dhe privilegjet e tij do të humbasin. Për të ndryshuar privilegjet, përdorni komandën:
REVOKE [privilegjin] NË [DB].[Tabela] TEK '[përdoruesi]'@'localhost';
Veprimi i zakonshëm në MySQL është krijimi i një përdoruesi ose fshirja e tij, por ndryshimi i privilegjeve është gjithashtu një operacion i vlefshëm (kërkohet rrallë).
Përdorimi phpMyAdmin
Ka shumë zbatime të këtij mjeti të mrekullueshëm. Në varësi të versionit të përdorur të Apache, PHP dhe MySQL, shpesh duhet një kohë e gjatë për të gjetur versionin e duhur të këtij produkti, por sapo phpMyAdmin të instalohet me sukses, përdoruesi ka shumë veçori të përshtatshme dhe një komoditetndërfaqe.
Duke përdorur phpMyAdmin, mund t'i thuash MySQL të krijojë një përdorues për çdo host dhe të menaxhojë përdoruesit ekzistues në mënyra pothuajse kirurgjikale.
phpMyAdmin nuk është i vetmi mjet me një ndërfaqe të rehatshme, intuitive dhe të pasur me veçori, por është mjeti më popullor për administrimin e serverëve MySQL.
Rreth linjës së komandës dhe sigurisë
Sigurisht, përdorimi i linjës së komandës MySQL është një ushtrim jo tërheqës, por duhet të kihet parasysh se në disa raste vetëm linja e komandës së serverit mund të ruajë bazën e të dhënave ose përdoruesin, të sigurojë importimin ose eksportimin e informacionit.
Versionet e softuerit po zhvillohen aq shpejt sa zhvilluesit thjesht nuk kanë kohë për të kombinuar veçoritë e, për shembull, PHP dhe MySQL, MySQL dhe phpMyAdmin. Nëse ndodh diçka, linja e komandës gjithmonë do ta shpëtojë ditën.
Nuk duhet harruar gjithashtu: Administrimi i MySQL ka të bëjë vetëm me aksesin në bazat e të dhënave të saj dhe nëpërmjet funksionalitetit të tij. Skedarët e bazës së të dhënave janë të hapura për qasje jashtë MySQL. Sigurimi i jashtëm i MySQL dhe burimeve që ajo kontrollon është një nevojë reale dhe e rëndësishme.