Jak používat CREATE USER v MariaDB
Pomocí CREATE USER můžete v MariaDB vytvářet nové účty. K definování uživatelských práv použijte GRANT. Pokud chcete přidat nového uživatele, potřebujete práva správce.
Podrobný návod k použití CREATE USER v MariaDB
Příkaz CREATE USER se v MariaDB používá k vytvoření nového uživatele. Jednotlivé kroky, které je třeba provést, jsou uvedeny zde.
Krok 1: Připojte se k MariaDB
Jelikož se noví uživatelé vytvářejí přímo v MariaDB, musíte se nejprve připojit k databázi. Otevřete příkazový řádek MariaDB a přihlaste se pomocí svého uživatelského jména a hesla. Ujistěte se, že váš účet má administrátorská práva.
Krok 2: Použijte CREATE USER
Nyní použijte CREATE USER k vytvoření nového uživatele v MariaDB. Syntaxe je následující:
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';sqlMísto zástupného symbolu „username“ zadejte požadované uživatelské jméno. To musí být v rámci serverového prostředí jedinečné. Nahraďte „hostname“ odpovídajícím názvem hostitele nebo IP adresou vašeho serveru, následovaným bezpečným heslem pro tento účet.
Krok 3: Nakonfigurujte oprávnění uživatelů
Dalším krokem je přidělení uživatelských práv novému uživateli. Ta definují, co může uživatel v systému dělat. Podrobnější vysvětlení uživatelských práv naleznete níže. K přidělení práv použijte příkaz GRANT. Syntaxe je následující:
GRANT ALL PRIVILEGES ON database.table TO 'username'@'hostname';sqlPo příkazu GRANT uveďte práva, která má účet získat. Ta se od sebe oddělují čárkami. Například „database.table“ může odkazovat na konkrétní databázi nebo jednotlivé tabulky, nebo se může vztahovat na celý systém pomocí *.*. Místo zástupného symbolu „username@hostname“ použijte jméno uživatele a název hostitele nového uživatele.
Krok 4: Nastavení uživatelských práv
Po přiřazení uživatelských práv použijte příkaz FLUSH PRIVILEGES k jejich přímému použití. Příkaz vypadá takto:
FLUSH PRIVILEGES;sqlKrok 5: Přihlaste se
Nový uživatel se nyní může přihlásit k serveru MariaDB. K tomu potřebuje pouze uživatelské jméno a odpovídající heslo pro daný účet. K odstranění účtu můžete použít příkaz DROP USER. Stejně jako u CREATE USER potřebujete k tomu práva správce.
Jak přiřadit uživatelská práva
Oprávnění určují, jaké akce mohou uživatelé v MariaDB provádět. Zatímco uživatel admin má všechna práva, je důležité omezit práva uživatelů pro ostatní účty, jinak mohou nastat bezpečnostní problémy. Nejběžnější uživatelská práva jsou:
ALL: Uděluje účtu všechna práva kroměGRANT OPTIONGRANT OPTION: Uděluje účtu stejná oprávnění jako váš účetSELECT: Uděluje přístup k databázím nebo tabulkámINSERT: Umožňuje účtu přidávat nové řádky do tabulkyUPDATE: Umožňuje účtu aktualizovat řádkyDELETE: Umožňuje účtu mazat řádkyCREATE: Umožňuje účtu vytvářet nové tabulky nebo databázeALTER: Umožňuje účtu měnit strukturu tabulkyDROP: Umožňuje účtu mazat tabulky nebo databáze
Pokud chcete změnit uživatelská práva, která jste již přidělili, můžete použít příkaz REVOKE. Chcete-li získat přehled o právech, která jste přidělili účtu, můžete použít příkaz SHOW GRANTS FOR.
Jak používat OR REPLACE a IF NOT EXISTS s CREATE USER
Pokud chcete vytvořit nový účet a uživatel se stejným jménem již existuje, zobrazí se chybová zpráva. Aby se tomuto problému zabránilo, MariaDB nabízí dvě klauzule pro CREATE USER: OR REPLACE a IF NOT EXISTS.
Syntaxe OR REPLACE je:
CREATE OR REPLACE USER 'username'@'hostname' IDENTIFIED BY 'password';sqlToto je zkrácená forma tohoto:
DROP USER IF EXISTS 'username'@'hostname';
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';sqlSystém zkontroluje, zda již existuje uživatel s názvem, který chcete použít pro nový uživatelský účet. Pokud ano, starý účet je nahrazen novým. Pokud žádný odpovídající uživatel neexistuje, je vytvořen nový účet.
Toto je syntaxe pro IF NOT EXISTS:
CREATE USER IF NOT EXISTS 'username'@'hostname' IDENTIFIED BY 'password';sqlI v tomto případě systém zkontroluje, zda již existuje účet s odpovídajícím názvem. Pokud ano, zobrazí se varovná zpráva a účet bude přepsán. Pokud takový uživatel neexistuje, bude vytvořen nový uživatelský účet.