Pri vytváraní databázy východzie nastavenie funguje tak, že názov databázy je zároveň aj prihlasovacím menom k nej - napr. ak sa potrebujete prihlásiť cez phpMyAdmin. Prihlasovacích mien - resp. používateľov databázy, si môžete vytvoriť viac, ktorým zároveň môžete priradiť rôzne práva.
Vytvorenie nového používateľa je vhodné napríklad vtedy, ak sa potrebujete prihlásiť do databázy (cez Adminer alebo phpMyAdmin), ale neviete heslo k nej a nemáte možnosť sa prihlásiť na server, aby ste si z konfiguračného súboru skopírovali heslo. Pre tento prípad si vytvoríte nového používateľa, vygenerujete heslo a môžete sa prihlásiť napr. cez phpMyAdmin. Pridanie nového používateľa umožňuje nastaviť aj rozsah oprávnení k správe databázy a tieto nastavenia odporúčame len skúseným užívateľom, ktorí vedia, čo robia. Ak ďalšieho používateľa nebudete po skončení prác potrebovať, odporúčame ho vymazať.
Pridanie nového používateľa k databáze SQL
V Control Paneli kliknite na Správa databáz a vyhľadajte si databázu, ku ktorej chcete pridať nového používateľa:
Pri zvolenej databáze kliknite na Používatelia:
Následne uvidíte predvoleného používateľa, s rovnakým názvom ako databáza. Na obrázku môžete vidieť, že má pridelené všetky možné práva. Kliknite dole vpravo na Pridať používateľa:
Nového používateľa pridáte nasledovne:
- Používateľ: k existujúcemu menu databázy (v našom prípade db000000u) si pridajte jedinečné meno, najviac sedem znakov, bez medzier a diakritiky
- Heslo: odporúčame vygenerovať zložité heslo
- Privilégiá: ak nie ste si istí nastaveniami a potrebujete pre nového používateľa prístup bez obmedzení, označte všetky políčka (ich význam vysvetlený pod obrázkom)
- Databázový objekt: vzťahuje sa na konkrétne databázové objekty (TABLE, FUNCTION, PROCEDURE). Ak nie ste si istí, nechajte políčko prázdne.
Vysvetlenie k skratkám a pojmom privilégií
Skratka | Úplný názov | Vysvetlivka |
SEL | SELECT | Umožňuje výber riadkov z tabuliek v databáze. |
INS | INSERT | Umožňuje vkladať nové riadky do existujúcej tabuľky. |
UPD | UPDATE | Umožňuje aktualizáciu riadkov v tabuľkách v databáze. |
DEL | DELETE | Umožňuje odstránenie riadkov z tabuliek v databáze. |
CRE | CREATE | Umožňuje použitie príkazov, ktoré vytvárajú nové tabuľky. |
DRO | DROP | Umožňuje použitie príkazov, ktoré odstránia existujúce tabuľky a zobrazenia. Na používanie tabuľky ALTER TABLE sa vyžaduje privilégium DROP. |
ALT | ALTER | Umožňuje zmenu štruktúry tabuliek. |
IND | INDEX | Umožňuje použitie príkazov, ktoré vytvárajú alebo odstraňujú indexy. INDEX platí pre existujúce tabuľky. |
CTT | CREATE TEMPORARY TABLES | Umožňuje vytváranie dočasných tabuliek. Keď relácia vytvorí dočasnú tabuľku, server nevykoná žiadne ďalšie kontroly privilégií tabuľky. |
LT | LOCK TABLES | Umožňuje použitie explicitných príkazov na uzamknutie tabuliek, pre ktoré máte privilégium SELECT. |
CV | CREATE VIEW | Umožňuje použitie príkazu CREATE VIEW. Príkaz vytvorí nové alebo nahradí existujúce zobrazenie. |
SV | SHOW VIEW | Umožňuje použitie príkazu SHOW CREATE VIEW. |
CR | CREATE ROUTINE | Umožňuje použitie príkazov, ktoré vytvárajú uložené procedúry a funkcie. |
AR | ALTER ROUTINE | Umožňuje použitie príkazov, ktoré menia alebo odstraňujú uložené procedúry a funkcie. |
EXE | EXECUTE | Umožňuje použitie príkazov, ktoré vykonávajú uložené procedúry a funkcie. |
TRI | TRIGGER | Umožňuje operácie ako napr. vytváranie, odstránenie, spúšťanie a pod. |
EVE | EVENT | Umožňuje používanie príkazov, ktoré vytvárajú, menia, odstraňujú alebo zobrazujú udalosti pre plánovač udalostí. |
Pre podrobnejšie vysvetlenie odporúčame článok Privileges Provided by MySQL.
Po pridaní nového používateľa uvidíte aktuálny stav, na obrázku môžete vidieť, že nový používateľ má pridelené všetky privilégiá (kliknutím na modrú ceruzku ich môžete dodatočne upraviť):
Aktualizovať práva - použite vtedy ak užívateľovi nastavíte aj konkrétny databázový objekt (TABLE / PROCEDURE / FUNCTION) a nastavíte práva len na niektoré tabuľky a nejakú tabuľku potom zmažete. Odporúčame používať zakaždým, keď spravíte v databáze nejaké zmeny v štruktúre.
See also this article