Administrácia MySQL: ako vytvoriť používateľa a definovať jeho práva

Obsah:

Administrácia MySQL: ako vytvoriť používateľa a definovať jeho práva
Administrácia MySQL: ako vytvoriť používateľa a definovať jeho práva
Anonim

Charakteristickou črtou MySQL je jeho vlastné zabezpečenie, spoliehajúce sa na externú ochranu. Ako moderný, plnohodnotný a efektívny systém správy databáz má MySQL svoje vlastné nástroje na správu používateľov a ich prístupu k zdrojom, ktoré kontroluje.

mysql vytvoriť užívateľa
mysql vytvoriť užívateľa

Ak nepoznáte správne používateľské meno a heslo, prístup k databáze cez MySQL je veľmi zložitý.

V normálnom režime hosťovania to stačí. Nepredvídané situácie, útoky hackerov a iné problémy sú záležitosťou externej správy systému a bezpečnostných služieb. Tento koncept sa stal tradičným a prakticky sa o ňom nehovorí.

Nainštalovať server MySQL a root používateľa

V akomkoľvek operačnom prostredí je nainštalovaný systém správy databáz, vždy má aspoň jedného používateľa: root. Nainštalujte MySQL, vytvorte používateľa so všetkými právami root - bez toho pracujteserver nie je možný. Oprávnenia tohto používateľa sú dostatočné na:

  • vytvárať a spravovať nových používateľov;
  • vytvárať a spravovať databázy.
mysql vytvoriť používateľa a poskytnúť práva na databázu
mysql vytvoriť používateľa a poskytnúť práva na databázu

V zásade je možné, aby v MySQL existovali používatelia „bez hesla“, ale to je neprijateľné.

Bežná prax:

  • server nainštalovaný na vlastnom počítači, kde je možné nainštalovať hosting (lokálna možnosť);
  • server je na verejnom hostingu na internete.

V prvom prípade je možné pracovať so serverom z príkazového riadku a používať phpMyAdmin, v druhom prípade iba phpMyAdmin alebo podobný nástroj, ale k príkazovému riadku je možné pristupovať cez vzdialený SSH prístup.

Vlastné nástroje na správu

Pocit príbuznosti s rodinou Unixoidov a s minulosťou zo serverov Apache je charakteristickým znakom MySQL: create user je príkazový riadok s podivnou syntaxou. Pre profesionálov pracujúcich s Linuxom a podobnými systémami je to také známe, ako to vyzerá divoko v očiach používateľov Windowsu, ktorí nikdy „nevstúpili do skutočného života“.

Vytvorenie používateľa začína spustením príkazového riadku servera. V prostredí Windows sa to robí takto.

mysql vytvoriť používateľa so všetkými právami
mysql vytvoriť používateľa so všetkými právami

Najprv (1) musíte spustiť príkazový riadok ako správca, potom prejsť do priečinka, kde sa nachádza MySQL (2), potomspustiť samotný server (3):

mysql -u… -p

tu „-u…“a „-p“sú kľúče, ktoré ukazujú na názov „…“=root (alebo iné meno) a jeho heslo. V princípe používateľ nemusí byť root, ale ten, ktorý má práva „root“(administrátora).

Dôležité: server je v skutočnosti vždy spustený, tu mysql -u… -p je príkaz na prístup k serveru, nie na jeho spustenie.

V prostredí Linuxu a podobných systémoch je takýto príkaz „natívnou“akciou a spravidla sa určuje jednoduchým spustením mysqld na správnom mieste (na správnej ceste), treba to skontrolovať pomocou správca. Zvyčajne sa tu používa iný názov: nie mysql, ale mysqld. Ani tu nie je táto akcia vždy dostupná pre všetkých používateľov (operačného systému, nie servera MySQL). Na rozdiel od Windowsu, v Linuxoidoch je poriadok a bezpečnosť prirodzenou a nespornou požiadavkou, s ktorou sa vždy zaobchádza civilizovane.

V každom prípade, keď sa mysql spustí, oznámi to výzvou (4):

mysql>

a bude možné pracovať s používateľmi aj databázami.

Poznámka. Pri inštalácii v prostredí Windows je možné všetko: Apache, MySQL, PHP, phpMyAdmin nastaviť na predvolené cesty, ale odporúča sa použiť kompaktnejšie a bližšie umiestnenie pre tieto dôležité nástroje:

  • 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\.

Táto logika nielen zjednoduší správu, ale aj rozšíri možnosť vývojára pohybovať sa medzi verziami produktov a spravovať ich funkčnosť.

Práca na príkazovom riadku MySQL

Keď server odpovie a poskytne svoj príkazový riadok, môžu byť vytváraní používatelia a pridelené povolenia.

mysql vytvoriť používateľa pre ľubovoľného hostiteľa
mysql vytvoriť používateľa pre ľubovoľného hostiteľa

V tomto príklade príkaz create user vytvoril používateľa Petrov s heslom 123DFG. Ak sa pri zadávaní príkazu vyskytne chyba, server ponúkne opravu, ale pri práci na príkazovom riadku je lepšie nikdy nerobiť chyby!

Nasledovný príkaz udeliť všetky privilégiá dáva všetky práva na všetko. Príkaz flush možno vynechať, ale „vypne“vyrovnávaciu pamäť príkazov, to znamená, že opraví ich vykonanie.

MySQL: vytvorte používateľa a udeľte práva na databázu

Príkaz použitý v príklade:

UDELTE VŠETKY VÝHODY NA. 'Petrov'@'localhost';

v skutočnosti udeľuje používateľovi Petrov prístup ku všetkým databázam (prvá hviezdička) ku všetkým tabuľkám (druhá hviezdička).

mysql vytvoriť používateľa so všetkými právami
mysql vytvoriť používateľa so všetkými právami

Všeobecným pravidlom MySQL je vytvorenie používateľa:

GRANT [typ privilégia] ON [názov databázy] [názov tabuľky] TO '[používateľ]'@'localhost';

Povolené sú nasledujúce privilégiá:

  • VŠETKY PRIVILEGÁTY – všetky práva.
  • CREATE – právo vytvárať nové tabuľky/databázy.
  • DROP – právo zrušiť tabuľky/databázu.
  • DELETE – právo na vymazanie informácií v tabuľkách.
  • INSERT – právo zapisovať informácie do tabuliek.
  • SELECT – právo čítať informácie z tabuliek.
  • UPDATE – právo aktualizovať informácie v tabuľkách.
  • MOŽNOSŤ GRANTU – právo pracovať s oprávneniami iných používateľov.

Z praktického hľadiska „vytvoriť používateľa“v MySQL znamená tri možnosti práv:

  • všetky práva na všetky databázy a všetkých používateľov;
  • čítať a písať;
  • len na čítanie.

Iné možnosti udeľovania práv sa vyžadujú len zriedka. V prostredí Linuxu existuje oveľa viac dôvodov pre „právnu“slobodu (a nevyhnutnosť), ale existuje oveľa viac príležitostí ako v systéme Windows.

Reverzná operácia MySQL „vytvoriť používateľa“je zrušená.

drop user 'Petrov'@'localhost';

Po vykonaní tohto príkazu už Petrov nebude používateľom a jeho privilégiá sa stratia. Ak chcete zmeniť oprávnenia, použite príkaz:

ODVOLAŤ [oprávnenie] V [DB].[Tabuľka] '[používateľovi]'@'localhost';

Zvyčajná akcia v MySQL je vytvoriť používateľa alebo ho vymazať, ale zmena privilégií je tiež platná operácia (vyžaduje sa len zriedka).

Pomocou phpMyAdmin

Tento úžasný nástroj má mnoho implementácií. V závislosti od použitej verzie Apache, PHP a MySQL často trvá dlho, kým nájde správnu verziu tohto produktu, ale po úspešnej inštalácii phpMyAdmin má používateľ k dispozícii mnoho pohodlných funkcií a pohodlnýrozhranie.

mysql vytvoriť používateľa pre ľubovoľného hostiteľa
mysql vytvoriť používateľa pre ľubovoľného hostiteľa

Pomocou phpMyAdmin môžete povedať MySQL, aby vytvorila používateľa pre akéhokoľvek hostiteľa a spravovala existujúcich používateľov takmer chirurgickým spôsobom.

phpMyAdmin nie je jediný nástroj s pohodlným, intuitívnym rozhraním bohatým na funkcie, ale je to najobľúbenejší nástroj na správu serverov MySQL.

O príkazovom riadku a zabezpečení

Používanie príkazového riadku MySQL je samozrejme neatraktívne cvičenie, ale treba si uvedomiť, že v niektorých prípadoch môže iba príkazový riadok servera zachrániť databázu alebo používateľa, zabezpečiť import alebo export informácií.

mysql vytvoriť používateľa pre ľubovoľného hostiteľa
mysql vytvoriť používateľa pre ľubovoľného hostiteľa

Verzie softvéru sa vyvíjajú tak rýchlo, že vývojári jednoducho nemajú čas kombinovať funkcie napríklad PHP a MySQL, MySQL a phpMyAdmin. Ak sa niečo stane, príkazový riadok vždy zachráni deň.

Tiež by sme nikdy nemali zabúdať: Administrácia MySQL je len o prístupe k jej databázam a prostredníctvom jej funkčnosti. Databázové súbory sú otvorené na prístup mimo MySQL. Externé zabezpečenie MySQL a zdrojov, ktoré kontroluje, je skutočnou a dôležitou potrebou.

Odporúča: