sql >> Databáze >  >> RDS >> Mysql

Vytvoření uživatele na MySQL

Ihned po instalaci MySQL budete mít root uživatel k dispozici.

Toto je uživatel, kterého můžete použít, abyste zjistili, zda MySQL funguje, ale neměl by to být uživatel pro jiné druhy použití.

Proč? Protože je příliš výkonný .

S velkou mocí přichází velká zodpovědnost (řekl Spider-Manův strýc). A zejména velké nebezpečí, pokud uděláte chyby.

Místo toho byste měli vytvářet ad-hoc uživatele, kteří mají pouze oprávnění k provádění své práce a nic víc. Totéž platí pro použití Linuxu nebo jakéhokoli unixového systému, například:nechcete používat root uživatele, ale svůj vlastní uživatelský účet.

Chcete-li vytvořit nového uživatele, připojte se k MySQL pomocí root uživatel:

mysql -u root -p

pak použijte příkaz

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

Chcete-li například vytvořit uživatele s názvem test_user s heslem test_password12A spusťte příkaz:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

Příkaz by měl vrátit řádek s textem Query OK, 0 rows affected (X.XX sec) :

Pokud jste použili neplatné heslo, systém by vám řekl něco jako ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . V tomto případě chyba říká, že heslo není dostatečně složité, protože když jsem instaloval MySQL, řekl jsem mu, aby použil určitou zásadu pro hesla.

To je skvělé! Nyní je uživatel vytvořen a můžeme se pomocí tohoto uživatele připojit k MySQL. Z příkazového řádku můžete ukončit zadáním QUIT a zadáním:

mysql -u test_user -p

Nyní, když se pokusím vytvořit databázi, zobrazí se mi chyba ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Proč? Protože uživatel nemá oprávnění k vytvoření nové databáze .

Jak pracovat s oprávněními, uvidíme v jiném tutoriálu.

Za zmínku stojí @'localhost' řetězec, který jsme použili k vytvoření uživatele. To říká MySQL, že uživatel se může připojit pouze z localhost. Což je v pořádku, když věci testujete a když jakákoli aplikace, která se připojí k MySQL, běží na stejném počítači, na kterém běží DBMS.

Pokud to není pravda, musíte buď ručně zadat IP, ze které se bude uživatel připojovat, nebo použít % zástupný znak:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

Chci zavřít tento tutoriál ukázkou, jak odstranit uživatele, kterého jsme vytvořili:

DROP USER 'test_user'@'localhost';

  1. Sdružování připojení pomocí Pgbouncer na PostgreSQL 9.0

  2. Jak přidat pozice hodnocení do řádků pomocí DENSE_RANK() v SQL

  3. SQLSTATE[HY093]:Neplatné číslo parametru:parametr nebyl definován

  4. Clustery následovníků – 3 hlavní případy použití pro synchronizaci nasazení SQL a NoSQL