logo

Vytvoriť používateľa MySQL

Používateľ MySQL je záznam v USER tabuľku servera MySQL, ktorá obsahuje prihlasovacie informácie, privilégiá účtu a informácie o hostiteľovi pre účet MySQL. Je nevyhnutné vytvoriť používateľa v MySQL pre prístup a správu databáz.

Príkaz MySQL Create User nám umožňuje vytvoriť nový používateľský účet na databázovom serveri. Poskytuje autentifikáciu, SSL/TLS, limit zdrojov, rolu a vlastnosti správy hesiel pre nové účty. Umožňuje nám tiež kontrolovať účty, ktoré by mali byť na začiatku uzamknuté alebo odomknuté.

Ak chcete použiť funkciu Vytvoriť používateľa, je potrebné mať a globálne oprávnenie na vytvorenie príkazu používateľa alebo VLOŽIŤ oprávnenie pre systémovú schému MySQL. Keď vytvoríte používateľa, ktorý už existuje, zobrazí sa chyba. Ale ak použijete, AK NEEXISTUJE klauzula, príkaz namiesto chybového hlásenia poskytuje varovanie pre každého menovaného užívateľa, ktorý už existuje.

Prečo používatelia požadovali server MySQL?

Po dokončení inštalácie servera MySQL má server a ROOT používateľský účet len ​​na prístup a správu databáz. Niekedy však chcete poskytnúť prístup k databáze iným bez toho, aby ste im poskytli plnú kontrolu. V takom prípade vytvoríte iného používateľa ako root a udelíte mu špecifické privilégiá na prístup a úpravu databázy.

Syntax

Nasledujúca syntax sa používa na vytvorenie užívateľa v databázovom serveri.

 CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password'; 

Vo vyššie uvedenej syntaxi je názov účtu má dve časti, jedna je užívateľské meno , a ďalší je meno hosťa , ktorý je oddelený @ symbol. Tu je meno používateľa meno používateľa a názov hostiteľa je názov hostiteľa, z ktorého sa používateľ môže pripojiť k databázovému serveru.

 username@hostname 

Názov hostiteľa je voliteľný. Ak ste nezadali názov hostiteľa, používateľ sa môže pripojiť z akéhokoľvek hostiteľa na serveri. Názov používateľského účtu bez názvu hostiteľa môže byť napísaný ako:

 username@% 

Poznámka: Vytvoriť používateľa vytvorí nového používateľa s úplným prístupom. Ak teda chcete používateľovi poskytnúť privilégiá, je potrebné použiť príkaz GRANT.

Príklad CREATE USER MySQL

Nasleduje krok potrebný na vytvorenie nového používateľa v databáze servera MySQL.

abeceda s číslami

Krok 1: Otvorte server MySQL pomocou klientsky nástroj mysql .

Krok 2: Zadajte heslo pre účet a stlačte kláves Enter.

 Enter Password: ******** 

Krok 3: Vykonajte nasledujúci príkaz na zobrazenie všetkých používateľov na aktuálnom serveri MySQL.

 mysql> select user from mysql.user; 

Získame výstup, ako je uvedené nižšie:

Vytvoriť používateľa MySQL

veľa štastia

Krok 4: Vytvorte nového používateľa pomocou nasledujúceho príkazu.

 mysql> create user peter@localhost identified by 'jtp12345'; 

Teraz spustite príkaz, aby sa znova zobrazili všetci používatelia.

Vytvoriť používateľa MySQL

Vo vyššie uvedenom výstupe vidíme, že používateľ Peter bola úspešne vytvorená.

Krok 5: Teraz použijeme klauzulu IF NOT EXISTS s príkazom CREATE USER.

 mysql> CREATE USER IF NOT EXISTS adam@localhost IDENTIFIED BY 'jtp123456'; 

Udeľte privilégiá novému používateľovi MySQL

Server MySQL poskytuje novému používateľskému účtu viacero typov privilégií. Niektoré z najčastejšie používaných privilégií sú uvedené nižšie:

    VŠETKY VÝHODY:Povoľuje všetky privilégiá pre nový používateľský účet.VYTVORIŤ:Umožňuje užívateľskému účtu vytvárať databázy a tabuľky.POKLES:Umožňuje používateľskému účtu zahodiť databázy a tabuľky.VYMAZAŤ:Umožňuje používateľskému účtu odstrániť riadky z konkrétnej tabuľky.VLOŽIŤ:Umožňuje používateľskému účtu vkladať riadky do konkrétnej tabuľky.VYBERTE:Umožňuje používateľskému účtu čítať databázu.AKTUALIZÁCIA:Umožňuje používateľskému účtu aktualizovať riadky tabuľky.

Ak chcete udeliť všetky privilégiá novovytvorenému používateľovi, vykonajte nasledujúci príkaz.

 mysql> GRANT ALL PRIVILEGES ON * . * TO peter@localhost; 

Ak chcete udeliť špecifické privilégiá novovytvorenému používateľovi, vykonajte nasledujúci príkaz.

 mysql> GRANT CREATE, SELECT, INSERT ON * . * TO peter@localhost; 

Niekedy chceš spláchnuť všetky privilégiá používateľského účtu na zmeny sa prejavia okamžite, zadajte nasledujúci príkaz.

 FLUSH PRIVILEGES; 

Ak chcete vidieť existujúce privilégiá pre používateľa, vykonajte nasledujúci príkaz.

 mysql> SHOW GRANTS for username;