GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit nového uživatele MySQL a udělit oprávnění

Úvod

MySQL je databázová aplikace pro Linux a součást oblíbeného zásobníku LAMP (Linux, Apache, MySQL, PHP). Instalace MySQL zahrnuje možnosti správy prostřednictvím uživatele root nebo konkrétních uživatelských účtů.

Z bezpečnostních důvodů je obecně lepší vytvářet data a nakládat s nimi jako konkrétní uživatelé.

V tomto kurzu se dozvíte, jak vytvořit uživatelské účty MySQL a spravovat jejich oprávnění a oprávnění.

Předpoklady

  • Server Linux s nainstalovaným a spuštěným MySQL nebo MariaDB
  • Přístup k přihlašovacím údajům uživatele root MySQL
  • Přístup k oknu terminálu/příkazovému řádku (Ctrl-Alt-T / Ctrl-Alt-F2)

Jak vytvořit nového uživatele MySQL

1. Než budete moci vytvořit nového uživatele MySQL, musíte otevřít okno terminálu a spustit shell MySQL jako uživatel root. Chcete-li tak učinit, zadejte následující příkaz:

sudo mysql –u root –p

2. Zadejte heslo uživatele root pro tento účet a stiskněte klávesu Enter.

Výzva by se měla změnit, aby ukazovala, že jste v mysql> shell.

3. Dále vytvořte nového uživatele MySQL pomocí:

CREATE USER 'username' IDENTIFIED BY 'password';

Nahraďte uživatelské jméno a heslo s uživatelským jménem a heslem dle vašeho výběru.

Alternativně můžete nastavit uživatele zadáním počítače, který je hostitelem databáze.

  • Pokud na počítači pracujete s MySQL, použijte [email protected] k definování uživatele.
  • Pokud se připojujete vzdáleně, použijte [email protected]_address a nahraďte ip_address se skutečnou adresou vzdáleného systému hostujícího MySQL.

Příkaz tedy bude:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

nebo

CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';

Můžete také vytvořit uživatele, který se může připojit z jakéhokoli počítače pomocí příkazu:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

Jak udělit oprávnění v MySQL

Před přihlášením pomocí nového účtu se ujistěte, že jste nastavili oprávnění pro uživatele.

Oprávnění jsou akce, které může uživatel v databázi provádět. V závislosti na tom, jak velké oprávnění chcete, aby váš uživatel měl, mu můžete udělit jedno, několik nebo všechna z následujících oprávnění:

  • Všechna oprávnění: Uživatelský účet má plný přístup k databázi
  • Vložit: Uživatel může vkládat řádky do tabulek
  • Smazat: Uživatel může odstranit řádky z tabulek
  • Vytvořit: Uživatel může vytvářet zcela nové tabulky a databáze
  • Vypustit: Uživatel může zahodit (odebrat) celé tabulky a databáze
  • Vyberte: Uživatel získá přístup k příkazu select, aby mohl číst informace v databázích
  • Aktualizace: Uživatel může aktualizovat řádky tabulky
  • Možnost grantu: Uživatel může upravit další oprávnění uživatelského účtu

Základní syntaxe používaná k udělení oprávnění uživatelskému účtu je:

GRANT permission_type ON database.table TO 'username'@'localhost';

Například udělit oprávnění pro vkládání uživateli MySQL spustíte příkaz:

GRANT INSERT ON *.* TO 'username'@'localhost';

Úroveň oprávnění můžete nahradit podle svých potřeb. Spusťte příkaz pro každé oprávnění, které chcete udělit.

Pokud chcete omezit přístup uživatele ke konkrétní databázi, pojmenujte tuto databázi před tečkou. Podobně můžete omezit přístup uživatele ke konkrétní tabulce jejím pojmenováním za tečkou, jako v příkazu níže:

GRANT INSERT *database_name.table_name* TO 'username'@'localhost';

Správa uživatelů MySQL

Tato část vám pomůže vypsat oprávnění, která má uživatelský účet, odebrat uživateli oprávnění a zcela odstranit uživatelský účet. Také vám ukáže, jak se odhlásit z kořenového uživatelského účtu MySQL a jak se znovu přihlásit pod účtem, který jste právě vytvořili.

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

Zobrazení všech aktuálních oprávnění uživatele:

SHOW GRANTS FOR username;

Jak udělit všechna oprávnění k databázi v MySQL

Chcete-li udělit všechna oprávnění uživateli MySQL ve všech databázích použijte příkaz:

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

Můžete však také udělit všechna oprávnění uživatelskému účtu na konkrétní databázi pomocí následujícího příkazu:

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

Chcete-li udělit všechna oprávnění uživatelskému účtu nad konkrétní tabulkou z typu databáze:

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

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

Chcete-li získat zpět oprávnění od konkrétního uživatele, použijte REVOKE příkaz. Funguje podobně jako příkaz GRANT, jeho základní syntaxe je:

REVOKE permission_type ON database.table TO 'username'@'localhost';

Odebrání celého uživatelského účtu

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

DROP USER 'username'@'localhost';

Linux
  1. Jak vytvořit a odstranit uživatelskou skupinu v Linuxu

  2. Vytvořte novou databázi a použijte ji v MySQL/MariaDB

  3. Jak na MySQL:Vytvořte uživatele a udělte oprávnění k databázi

  1. Jak přidat nového uživatele MySQL a udělit přístupová oprávnění

  2. Jak vytvořit databázi MySQL a jejího uživatele v CWP?

  3. Vytvářejte a upravujte uživatele v MySQL

  1. Jak vytvořit uživatele MariaDB a udělit oprávnění

  2. Jak vytvořit nového uživatele s přístupem Ssh?

  3. Vytvořte nového uživatele a udělte oprávnění v MySQL