logo

Vytvořit uživatele MySQL

Uživatel MySQL je záznam v UŽIVATEL tabulka serveru MySQL, která obsahuje přihlašovací údaje, oprávnění účtu a informace o hostiteli pro účet MySQL. Je nezbytné vytvořit uživatele v MySQL pro přístup a správu databází.

Příkaz MySQL Create User nám umožňuje vytvořit nový uživatelský účet na databázovém serveru. Poskytuje vlastnosti ověřování, SSL/TLS, omezení zdrojů, rolí a hesel pro nové účty. Umožňuje nám také ovládat účty, které by měly být původně uzamčeny nebo odemčeny.

Pokud chcete použít Create User, je nutné mít a globální oprávnění k příkazu Vytvořit uživatele nebo VLOŽIT oprávnění pro systémové schéma MySQL. Když vytvoříte uživatele, který již existuje, zobrazí chybu. Ale pokud použijete, POKUD NEEXISTUJE klauzule, dává příkaz místo chybové zprávy varování pro každého jmenovaného uživatele, který již existuje.

Proč uživatelé požadovali server MySQL?

Po dokončení instalace serveru MySQL má server a VYKOŘENIT uživatelský účet pouze pro přístup a správu databází. Někdy však chcete umožnit přístup k databázi ostatním, aniž byste jim poskytli plnou kontrolu. V takovém případě vytvoříte uživatele bez oprávnění root a udělíte mu specifická oprávnění pro přístup a úpravu databáze.

Syntax

Následující syntaxe se používá k vytvoření uživatele na databázovém serveru.

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

Ve výše uvedené syntaxi je jméno účtu má dvě části, jedna je uživatelské jméno , a další je název hostitele , která je oddělena @ symbol. Zde je uživatelské jméno jméno uživatele a hostitelské jméno je jméno hostitele, ze kterého se uživatel může připojit k databázovému serveru.

 username@hostname 

Název hostitele je volitelný. Pokud jste nezadali název hostitele, uživatel se může připojit z libovolného hostitele na serveru. Název uživatelského účtu bez názvu hostitele lze zapsat jako:

 username@% 

Poznámka: Vytvořit uživatele vytvoří nového uživatele s plným přístupem. Pokud tedy chcete uživateli udělit oprávnění, je nutné použít příkaz GRANT.

Příklad MySQL CREATE USER

Následují kroky potřebné k vytvoření nového uživatele v databázi serveru MySQL.

Krok 1: Otevřete server MySQL pomocí klientský nástroj mysql .

Krok 2: Zadejte heslo k účtu a stiskněte Enter.

 Enter Password: ******** 

Krok 3: Provedením následujícího příkazu zobrazíte všechny uživatele na aktuálním serveru MySQL.

 mysql> select user from mysql.user; 

Získáme výstup, jak je uvedeno níže:

Vytvořit uživatele MySQL

Krok 4: Vytvořte nového uživatele pomocí následujícího příkazu.

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

Nyní spusťte příkaz a znovu zobrazte všechny uživatele.

Vytvořit uživatele MySQL

Ve výše uvedeném výstupu můžeme vidět, že uživatel Petr byla úspěšně vytvořena.

Krok 5: Nyní použijeme klauzuli IF NOT EXISTS s příkazem CREATE USER.

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

Udělte oprávnění novému uživateli MySQL

Server MySQL poskytuje novému uživatelskému účtu několik typů oprávnění. Některá z nejčastěji používaných oprávnění jsou uvedena níže:

    VŠECHNA VÝHODY:Povoluje všechna oprávnění k novému uživatelskému účtu.VYTVOŘIT:Umožňuje uživatelskému účtu vytvářet databáze a tabulky.POKLES:Umožňuje uživatelskému účtu zahodit databáze a tabulky.VYMAZAT:Umožňuje uživatelskému účtu odstranit řádky z konkrétní tabulky.VLOŽIT:Umožňuje uživatelskému účtu vkládat řádky do konkrétní tabulky.VYBRAT:Umožňuje uživatelskému účtu číst databázi.AKTUALIZACE:Umožňuje uživatelskému účtu aktualizovat řádky tabulky.

Pokud chcete udělit všechna oprávnění nově vytvořenému uživateli, proveďte následující příkaz.

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

Pokud chcete udělit specifická oprávnění nově vytvořenému uživateli, proveďte následující příkaz.

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

Někdy chceš spláchnout všechna oprávnění uživatelského účtu pro změny dojde okamžitě, zadejte následující příkaz.

 FLUSH PRIVILEGES; 

Chcete-li zobrazit stávající oprávnění uživatele, proveďte následující příkaz.

 mysql> SHOW GRANTS for username;