MySQL

Z Wikiverzity
Přejít na: navigace, hledání

MySQL (viz w:MySQL) je možná nejrozšířenějším databázovým systémem, vytvářeným jakožto Free Software, a to pro různé operační systémy. V dalším si ukážeme způsob práce v operačním systému Debian GNU/Linux (v jiných operačních systémech pracuje MySQL podobně).

MySQL Pracuje na principu klient-server. Je v zásadně jedno, jestli klientská i serverová aplikace běží na stejném počítači anebo na různých. Na různých počítačích může běžet i pod různými operačními systémy, vzájemná komunikace probíhá protokolem TCP/IP (tj. např. prostřednictvím Internetu nebo intranetu). Pro první seznámením s MySQL může být výhodné, když si vyzkoušíme instalaci serveru i klientu na vlastním počítači, na kterém máme práva roota.


Podstránky[editovat]

  • /mysqld – MySQL démon (server)

Instalace[editovat]

V Debianu jednoduše nainstalujeme balíky:

  • mysql-client
  • mysql-server


Konfigurace[editovat]

Klienta spustíme z příkazového řádku obyčejného uživatele příkazem:

mysql

Zpravidla dostaneme odpověď:

ERROR 1045 (28000): Access denied for user 'jmeno'@'localhost' (using password: NO)

Tím si ověříme, že pracuje klient (navázal spojení se serverem) i server (odeslal chybovou hlášku). Chyba je způsobena tím, že uživatel "jmeno" (implicitně ten, který příkaz spouští) nemá dosud povolený přístup k databázím serveru.

Nastavení přístupového hesla roota[editovat]

Práva nastavovat tato hesla a přístupy uživatelů má superuživatel jménem 'root'. Pozor ale! Superuživatel 'root', který má nejvyšší práva pro správu serveru MySQL, není implicitně totožný se správcem operačního systému. Znamená to, že bezprostředně po nainstalování serveru MySQL se může kdokoli nadvlády nad MySQL zmocnit!

Pokud spustíme příkaz

mysql

z příkazové řádky roota, anebo z příkazové řádky běžného uživatele s vhodným přepínačem (přepínač -u následovaný jménem uživatele se připojí k MySQL serveru pod jménem tohoto uživatele):

mysql -uroot

pak obdržíme příkazovou řádku MySQL superuživatele MySQL, např.:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.32-Debian_7etch1-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> 

Pokud již umíme bezpečně s jazykem MySQL zacházet, pak z tohoto příkazového řádku klienta můžeme nastavit všechna potřebná práva. Pokud ne, pak raději mysql klienta opustíme příkazem:

quit;

a základní nastavení provedeme nějakou bezpečnější utilitou, např:

mysqladmin

Tato utilita spuštěná bez jakýchkoliv parametrů pouze vypíše nápovědu a skončí. Se známým přepínačem -uroot a s příkazem passwd ji využijeme na nastavení přístupového hesla správce serveru MySQL:

mysqladmin -uroot password nejake-tajne-heslo-spravce-123456

Ověříme si, že dosavadním způsobem bez hesla:

mysql -uroot

se už jako správci k MySQL serveru nepřipojíme, neboť obdržíme hlášku:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Musíme použít přepínač -p, který indikuje, že budeme přistupovat k účtu, chráněnému heslem:

mysql -uroot -p

Budeme vyzvání k zadání hesla a poté již se nám otevře přístup k MySQL jako superuživateli. Pokud však dosud naše znalosti nejsou na příslušné úrovni, raději z tohoto módu opět vystoupíme:

quit;

Podobným způsobem můžeme již nastavené heslo správce změnit, ale tentokrát již k utilitě mysqladmin musíme přistoupit přes staré heslo, tj. s přepínačem -p:

mysqladmin -uroot -p password nove-tajne-heslo-spravce-654321

Další možnosti utility mysqladmin[editovat]

Některé další možnosti, které si můžete vyzkoušet, jsou (pokaždé budete vyzváni k zadání hesla; pokud byste heslo napsali bezprostředně za přepínač -p, bude to pro vás o něco rychlejší, ale zato méně bezpečné - zadané heslo bude vidět nejen na vaší obrazovce, ale uvidí je i případný hacker, který by v tu chvíli tajně monitoroval vámi spouštěné procesy):

  • Zjištění, že MySQL server žije:
mysqladmin -uroot -p ping
  • status serveru
mysqladmin -uroot -p status
  • rozšířený status serveru
mysqladmin -uroot -p extended-status
  • zastavení serveru
mysqladmin -uroot -p shutdown

Práva uživatelů[editovat]

Nastavení práv uživatelů není v MySQL zcela triviální záležitost - je nutné pochopit význam tabulek databáze mysql. Alespoň se základním nastavením práv pomůže řádková utilita:


Externí odkazy[editovat]

Referenční manuál[editovat]

Podrobný návod na konfiguraci ve velmi podrobném referenčním manuálu, který nalezneme na domovské stránce: www.mysql.org – Oficiální stránky

Různé manuály v češtině[editovat]

Seriály[editovat]

Další kapitoly[editovat]

Související články[editovat]