'n Kenmerkende kenmerk van MySQL is sy eie sekuriteit, wat staatmaak op eksterne beskerming. As 'n moderne, volledige en doeltreffende databasisbestuurstelsel, het MySQL sy eie nutsmiddels vir die bestuur van gebruikers en hul toegang tot die hulpbronne wat dit beheer.
As jy nie die korrekte gebruikersnaam en wagwoord ken nie, is toegang tot die databasis via MySQL baie moeilik.
In normale gasheermodus is dit genoeg. Onvoorsiene situasies, hacker-aanvalle en ander probleme is 'n kwessie van eksterne stelseladministrasie en sekuriteitsdienste. Hierdie konsep het tradisioneel geword en word feitlik nie bespreek nie.
Installeer MySQL-bediener en gebruikerswortel
In watter bedryfsomgewing die databasisbestuurstelsel ook al geïnstalleer is, het dit altyd ten minste een gebruiker: root. Installeer MySQL, skep 'n gebruiker met alle wortelregte - sonder dit, werk meebediener is nie moontlik nie. Hierdie gebruiker se voorregte is voldoende om:
- skep en administreer nuwe gebruikers;
- skep en bestuur databasisse.
Dit is fundamenteel moontlik vir "wagwoordlose" gebruikers om in MySQL te bestaan, maar dit is onaanvaarbaar.
Algemene praktyk:
- bediener op eie rekenaar geïnstalleer, waar hosting geïnstalleer kan word (plaaslike opsie);
- bediener is op publieke hosting op die internet.
In die eerste geval is dit moontlik om met die bediener vanaf die opdragreël te werk en phpMyAdmin te gebruik, in die tweede geval, slegs phpMyAdmin of 'n soortgelyke instrument, maar die opdragreël kan verkry word via afgeleë SSH-toegang.
Eie administrasienutsgoed
Gevoel van verwantskap met die Unixoid-familie en met die verlede vanaf Apache-bedieners is 'n kenmerk van MySQL: skep gebruiker is 'n opdragreël met vreemde sintaksis. Vir professionele persone wat met Linux en soortgelyke stelsels werk, is dit so bekend as wat dit wild lyk in die oë van Windows-gebruikers wat nog nooit "die regte lewe betree het nie."
Die skep van 'n gebruiker begin met die begin van die bediener-opdragreël. In 'n Windows-omgewing word dit soos volg gedoen.
Eers (1) moet jy die opdragreël as 'n administrateur laat loop, gaan dan na die gids waar MySQL geleë is (2), danbegin die bediener self (3):
mysql -u… -p
hier is "-u…" en "-p" sleutels wat na die naam "…"=root (of ander naam) en sy wagwoord wys. In beginsel mag 'n gebruiker nie root wees nie, maar een wat "root" (administratiewe) regte het.
Belangrik: die bediener loop eintlik altyd, hier is mysql -u… -p die opdrag om toegang tot die bediener te kry, nie om dit te begin nie.
In 'n Linux-omgewing en soortgelyke stelsels is so 'n opdrag 'n "inheemse" aksie en word as 'n reël bepaal deur bloot mysqld op die regte plek (op die regte pad) te begin, dit moet gekontroleer word met die administrateur. Daar is gewoonlik 'n ander naam hier: nie mysql nie, maar mysqld. Ook hier is hierdie aksie nie altyd vir alle gebruikers beskikbaar nie (van die bedryfstelsel, nie van die MySQL-bediener nie). Anders as Windows, in Linuxoids, is orde en sekuriteit 'n natuurlike en ononderhandelbare vereiste, wat altyd op 'n beskaafde manier behandel word.
In elk geval, sodra mysql begin het, sal dit dit aankondig met 'n prompt (4):
mysql>
en dit sal moontlik wees om met beide gebruikers en databasisse te werk.
Let wel. Wanneer u in 'n Windows-omgewing installeer, kan alles: Apache, MySQL, PHP, phpMyAdmin op verstekpaaie gestel word, maar dit word aanbeveel om meer kompakte en nader liggings vir hierdie belangrike gereedskap te gebruik:
- 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\.
Hierdie logika sal nie net administrasie vereenvoudig nie, maar ook die ontwikkelaar se vermoë uitbrei om tussen produkweergawes te beweeg en hul funksionaliteit te bestuur.
Werk op die MySQL-opdragreël
Sodra die bediener gereageer en sy opdragreël verskaf het, kan gebruikers geskep word en toestemmings toegeken word.
In hierdie voorbeeld het die skep gebruiker-opdrag die gebruiker Petrov geskep met die wagwoord 123DFG. As 'n fout gemaak word wanneer 'n opdrag ingevoer word, bied die bediener aan om dit reg te stel, maar dit is beter om nooit foute te maak wanneer op die opdragreël gewerk word nie!
Die volgende opdrag verleen alle voorregte gee alle regte op alles. Die spoelopdrag kan weggelaat word, maar dit 'pop' die buffer van opdragte, dit wil sê, dit maak hul uitvoering reg.
MySQL: skep 'n gebruiker en verleen regte aan die databasis
Opdrag gebruik in die voorbeeld:
GEKEN ALLE VOORREGTE OP. AAN 'Petrov'@'localhost';
verleen eintlik aan gebruiker Petrov toegang tot alle databasisse (eerste asterisk) tot alle tabelle (tweede asterisk).
As 'n algemene MySQL-reël is die skep van 'n gebruiker:
GRANT [tipe voorreg] OP [databasisnaam].[tabelnaam] AAN '[gebruiker]'@'localhost';
Die volgende voorregte word toegelaat:
- ALLE VOORREGTE - alle regte.
- CREATE - die reg om nuwe tabelle/databasisse te skep.
- DROP - die reg om tabelle/databasisse te laat val.
- DELETE - die reg om inligting in tabelle uit te vee.
- INSERT - die reg om inligting na tabelle te skryf.
- SELECT - die reg om inligting uit tabelle te lees.
- UPDATE - die reg om inligting in tabelle op te dateer.
- TOEKEN OPSIE - die reg om met die voorregte van ander gebruikers te werk.
Vanuit 'n praktiese oogpunt impliseer "skep 'n gebruiker" in MySQL drie opsies vir regte:
- alle regte op alle databasisse en alle gebruikers;
- lees en skryf;
- leesalleen.
Ander opsies vir die toekenning van regte word selde vereis. In die Linux-omgewing is daar baie meer gronde vir "wettige" vryheid (en noodsaaklikheid), maar daar is baie meer geleenthede daar as in Windows.
Die omgekeerde werking van MySQL "skep gebruiker" is weg.
drop gebruiker 'Petrov'@'localhost';
Nadat hy hierdie opdrag uitgevoer het, sal Petrov nie meer 'n gebruiker wees nie en sal sy voorregte verlore gaan. Om voorregte te verander, gebruik die opdrag:
REVOKE [voorreg] OP [DB].[Tabel] AAN '[gebruiker]'@'localhost';
Die gewone aksie in MySQL is om 'n gebruiker te skep of dit uit te vee, maar die verandering van voorregte is ook 'n geldige bewerking (selde versoek).
Gebruik phpMyAdmin
Daar is baie implementerings van hierdie wonderlike hulpmiddel. Afhangende van die weergawe van Apache, PHP en MySQL wat gebruik word, neem dit dikwels lank om die regte weergawe van hierdie produk te vind, maar sodra phpMyAdmin suksesvol geïnstalleer is, het die gebruiker baie gerieflike kenmerke en 'n gemaklikekoppelvlak.
Deur phpMyAdmin te gebruik, kan jy MySQL vertel om 'n gebruiker vir enige gasheer te skep en bestaande gebruikers op amper-chirurgiese maniere te bestuur.
phpMyAdmin is nie die enigste instrument met 'n gemaklike, intuïtiewe en kenmerkryke koppelvlak nie, maar dit is die gewildste hulpmiddel vir die administrasie van MySQL-bedieners.
Meer oor die opdragreël en sekuriteit
Natuurlik is die gebruik van die MySQL-opdragreël 'n onaantreklike oefening, maar daar moet in gedagte gehou word dat in sommige gevalle slegs die bedieneropdragreël die databasis of gebruiker kan stoor, die invoer of uitvoer van inligting kan verseker.
Sagtewareweergawes ontwikkel so vinnig dat ontwikkelaars eenvoudig nie tyd het om die kenmerke van byvoorbeeld PHP en MySQL, MySQL en phpMyAdmin te kombineer nie. As iets gebeur, sal die opdragreël altyd die dag red.
'n Mens moet ook nooit vergeet nie: MySQL-administrasie gaan net oor toegang tot sy databasisse en deur sy funksionaliteit. Die databasislêers is oop vir toegang buite MySQL. Eksterne beveiliging van MySQL en die hulpbronne wat dit beheer is 'n werklike en belangrike behoefte.