« Základní techniky vyhledávání v Google
Vyšla nová Opera 9.5, Seznam.cz s tím úplně nepočítal »


Jak v Linuxu vytvořit novou MySQL databázi, nový MySQL účet a přidělit uživatelská práva

Napsal weckho (Čer 13, 2008)

MySQL LogoPro práci na webových projektech je ve většině případů používán databázový systém MySQL. V následujícím tutoriálu si vysvětlíme, jak v Linuxu vytvořit novou databázi a přidělit přístupová práva uživatelům. Vše je potřeba dělat za předpokladu, že je v pořádku v systému nainstalováno MyS­QL.

Vytvoříme novou databázi s názvem ‚Nova_DB‘ a přidělíme všechna práva k této databázi uživateli ‚uzivatel‘. Uživatel bude k databázi přistupovat pod heslem ‚heslo‘.

Při defaultním nastavení se může root přihlásit k mysql bez použití hesla:

$ mysql -u root

Pokud je heslo vyžadováno, je potřeba do příkazu doplnit parametr -p:

$ mysql -u root -p Enter password:

Po zadání správného hesla bychom měli být přihlášeni k databázovému systému, to se v terminálu projeví zobrazením ‚mysql>‘. Nyní můžeme posílat dotazy na MySQL.

První věc, kterou uděláme, bude vytvoření nové databáze:

mysql> create database Nova_DB; Query OK, 1 row affected (0.00 sec)

Je na místě poznamenat, že MySQL (a Linux obecně) jsou Case Sensitive (záleží na velikosti písmen). Na to je potřeba myslet později při přístupu k této nové databázi. Dotaz na databázi ‚nova_db‘ skončí chybou, protože jsme vytvořili databázi ‚Nova_DB‘.

Nyní povolíme uživateli ‚uzivatel‘ připojení k serveru z localhostu pod heslem ‚heslo‘:

mysql> grant usage on . to uzivatel@localhost identified by ‚heslo‘; Query OK, 0 rows affected (0.00 sec)

Pokud bychom chtěli uživateli povolit přístup odkudkoliv, to znamená třeba někde ze sítě, příkaz by vypadal následovně:

mysql> grant usage on . to uzivatel@% identified by ‚heslo‘; Query OK, 0 rows affected (0.00 sec)

Oba uvedené příkazy vytvoří účty se superuživatelskými právy. To znamená, že uživatele mají oprávnění vytvářet/mazat databáze, vytvářet tabulky, pracovat s nimi a podobně. Nemohou však vytvářet nové účty (uživatele), přidělovat k databázím práva a podobně. Podle oficiálního MySQL manuálu by to jít mělo, mě se to však nepotvrdilo.

Pokud chceme uživateli přidělit práva k práci s dříve vytvořenou databází ‚Nova_DB‘, provedeme to následovně:

mysql> grant all privileges on Nova_DB.* to uzivatel@localhost; Query OK, 0 rows affected (0.00 sec)

V případě, že budeme s novým uživatelem ‚uzivatel‘ vytvářet nové databáze, měl by tento uživatel mít práva k těmto databázím automaticky.

Všechny příkazy testovány na Linux Ubuntu Hardy Heron, vzhledem k multiplatformní MySQL však budou fungovat v jakékoliv distribuci.

Napsat komentář

Komentář