Vytvořte nového uživatele služby MySQL a udělejte oprávnění k databázi MySQL

V tomto návodu vám vysvětlíme, jak vytvořit nový uživatel a udělit oprávnění tomuto uživateli MySQL. MySQL je systém spravovaný relační databází (RDBMS), který umožňuje uživatelům a aplikacím ukládat, organizovat a načítat jejich data. Má systém řízení přístupu, který obsahuje oprávnění, která mohou mít uživatelé v tabulkách a databázích. Podíváme se na některé z možností, které tento systém řízení přístupu nabízí později v tomto výukovém programu.

Začněme přihlášením

Pro přihlášení do našeho systému MySQL používáme následující příkaz:

# mysql -u root -p

Vykonáním tohoto příkazu řekneme klientovi MySQL, že nás přihlásí s uživatelem root a vyzve nás k zadání hesla uživatele.

Pokud jste na svém serveru nenainstalovali MySQL, můžete si prohlédnout náš výukový program jak nainstalovat MySQL na Ubuntu 16.04.

Vytvoření nového uživatele

Nyní, když jsme v našem MySQL serveru, můžeme instruovat MySQL vytvořit nového uživatele s následujícím dotazem:

CREATE USER 'new_user' @ 'localhost' IDENTIFIED BY 'heslo';

Prot tip: vždy používejte silné heslo pro všechny účty. Můžeš generovat jeden z příkazového řádku.

Další zajímavá věc, kterou je třeba poznamenat, je, že název nového nového uživatele, který jsme právě vytvořili, může být jiné jméno hostitele nebo adresa IP, pokud chceme, aby se uživatel přihlašoval dálkově.
Jako příklad:

CREATE USER 'new_user' @ '10.20.30.111' IDENTIFIKOVANÉ "heslem";

Řekněme, že chceme poskytnout našemu novému uživateli oprávnění, aby mohli číst data ze všech databází na našem serveru MySQL. Děláme to zadáním následujícího příkazu:

GRANT SELECT ON *. * TO 'new_user' @ 'localhost';

Provedením výše uvedeného dotazu instruujeme MySQL, aby našemu novému uživateli umožnil používat příkaz SELECT k čtení z databází na našem serveru MySQL, pro to jsme použili klíčové slovo SELECT. GRANT SELECT informuje MySQL, že uživatel nebude mít nic jiného než oprávnění ke čtení dat z dané databáze nebo databází. Udělování oprávnění se obvykle provádí v tomto formátu:

GRANT <typ oprávnění> ON <databáze>. <Table> TO '<username>' @ '<host>';

Můžeme také instruovat MySQL, aby odebral určité oprávnění od uživatele ve stejném formátu jako výše pouze tím, že nahradí klíčové slovo GRANT s REVOKE a klíčové slovo TO s FROM:

REVOKE <oprávnění typu> ON <databáze>. <Table> FROM '<username>' @ '<host>';

Poznámka: Hvězdičky, které používáme pro databázi a tabulkové pozice v výše uvedeném dotazu, jsou zástupné znaky a odpovídají libovolné databázi nebo tabulce v závislosti na poloze.
Aby naše nově nastavená oprávnění nabyla účinnosti, musíme znovu načíst všechna práva:

FLOW PRIVILEGES;

Můžete optimalizovat MySQL databáze pomocí mysqlcheck. Naučte se, jak to udělat zde

Umožňuje uživatelům další typy oprávnění

V části výše jsme viděli, jak udělit uživatelům oprávnění ke čtení pomocí klíčového slova SELECT. V této části budeme zkoumat další klíčová slova, která nám umožní nastavit pro uživatele různé typy oprávnění.

  • POUŽITÍ - dává uživateli oprávnění k přihlášení k serveru MySQL (ve výchozím nastavení při vytváření nového uživatele)
  • SELECT - dává uživateli oprávnění použít příkaz select pro načtení dat z tabulek
  • INSERT - dává uživateli oprávnění přidávat nové řádky do tabulek
  • UPDATE - dává uživateli oprávnění upravit existující řádky v tabulkách
  • DELETE - dává uživateli oprávnění odstranit existující řádky z tabulek
  • CREATE - poskytuje uživateli oprávnění k vytváření nových tabulek nebo databází
  • DROP - dává uživateli oprávnění k odebrání existujících tabulek nebo databází
  • VŠECHNY PRIVILEGES - poskytuje uživateli oprávnění k neomezenému přístupu k databázi nebo k celému systému (pomocí hvězdičky v databázové pozici)
  • GRANT OPTION - dává uživateli oprávnění udělit nebo odstranit oprávnění jiných uživatelů

Odstranění uživatelů se provádí stejným způsobem jako u databází nebo tabulek pomocí příkazu DROP:

DROP USER 'new_user' @ 'localhost';

Nakonec můžeme otestovat nového uživatele, zadejte následující příkaz pro ukončení aktuální aktivní relace:

výstup;

A potom se znovu přihlásíme zadáním tohoto příkazu do příkazového řádku:

mysql -u new_user -p

Poznámka: Nezapomeňte nahradit nový_user pro své vlastní požadované uživatelské jméno.

To je to, že jste vytvořili svůj vlastní uživatel služby MySQL a přiřadili k němu stejná oprávnění.

Zdroj

Napsat komentář

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.