Android

Jak vytvořit uživatelské účty mysql a udělit oprávnění

Bring your own keys on Apache Kafka with Azure HDInsight | Azure Friday

Bring your own keys on Apache Kafka with Azure HDInsight | Azure Friday

Obsah:

Anonim

MySQL je nejoblíbenější systém správy relačních databází s otevřeným zdrojovým kódem. Server MySQL nám umožňuje vytvářet četné uživatelské účty a udělovat příslušná oprávnění, aby uživatelé mohli přistupovat a spravovat databáze.

Tento tutoriál popisuje, jak vytvořit uživatelské účty MySQL a udělit oprávnění.

Než začnete

Předpokládáme, že ve vašem systému již máte nainstalovaný server MySQL nebo MariaDB.

Všechny příkazy jsou spouštěny uvnitř prostředí MySQL jako uživatel root nebo administrátor. Minimální oprávnění potřebná k vytvoření uživatelských účtů a definování jejich oprávnění je CREATE USER a GRANT .

Chcete-li získat přístup k prostředí MySQL, zadejte následující příkaz a po zobrazení výzvy zadejte heslo uživatele root root MySQL:

mysql -u root -p

Vytvořte nový uživatelský účet MySQL

Uživatelský účet v MySQL se skládá z částí uživatelského jména a názvu hostitele.

Chcete-li vytvořit nový uživatelský účet MySQL, spusťte následující příkaz:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; Nahraďte zástupný symbol zástupného znaku novým zamýšleným uživatelským jménem a zástupný symbol uživatelský_heslo uživatelským heslem.

V příkazu výše je část hostname nastavena na localhost , což znamená, že se uživatel bude moci připojit k serveru MySQL pouze z localhost (tj. Ze systému, kde běží MySQL Server).

Chcete-li udělit přístup z jiného hostitele, změňte část hostname ( localhost ) pomocí IP vzdáleného počítače. Například pro udělení přístupu ze stroje s IP 10.8.0.5 byste spustili:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Chcete-li vytvořit uživatele, který se může připojit z libovolného hostitele, použijte jako součást hostitele zástupný znak '%' :

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Udělte oprávnění uživatelskému účtu MySQL

Uživatelskému účtu lze udělit více typů oprávnění. Úplný seznam oprávnění podporovaných MySQL najdete zde.

Nejčastěji používaná oprávnění jsou:

  • ALL PRIVILEGES - Uděluje všechna oprávnění uživatelskému účtu. CREATE - Uživatelský účet smí vytvářet databáze a tabulky. DROP - Uživatelský účet smí vynechat databáze a tabulky. DELETE - Uživatelský účet smí vymazat řádky z konkrétní tabulky. INSERT - Uživatelský účet smí vkládat řádky do konkrétní tabulky. SELECT - Uživatelský účet smí číst databázi. UPDATE - Uživatelský účet může aktualizovat řádky tabulky.

Chcete-li udělit konkrétní oprávnění uživatelskému účtu, můžete použít následující syntaxi:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Zde jsou nějaké příklady:

  • Grand všechna oprávnění k uživatelskému účtu přes konkrétní databázi:

    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

    Grand všechna oprávnění k uživatelskému účtu ve všech databázích:

    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

    Grand všechna oprávnění k uživatelskému účtu přes konkrétní tabulku z databáze:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

    Udělit více oprávnění uživatelskému účtu přes konkrétní databázi:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Zobrazit oprávnění uživatelského účtu MySQL

Chcete-li najít oprávnění udělená konkrétnímu uživatelskému účtu MySQL, použijte příkaz SHOW GRANTS :

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Zrušit oprávnění z uživatelského účtu MySQL

Syntaxe odvolání jednoho nebo více oprávnění z uživatelského účtu je téměř stejná jako při udělování oprávnění.

Chcete-li například zrušit všechna oprávnění z uživatelského účtu přes konkrétní databázi, použijte následující příkaz:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Odebrat existující uživatelský účet MySQL

Chcete-li odstranit uživatelský účet MySQL, použijte příkaz DROP USER :

DROP USER 'user'@'localhost'

Výše uvedený příkaz odstraní uživatelský účet a jeho oprávnění.

Závěr

Tento tutoriál pokrývá pouze základy, ale měl by být dobrý začátek pro každého, kdo se chce naučit, jak vytvářet nové uživatelské účty MySQL a udělovat oprávnění.

mysql mariadb