Začínáme s MySQL 3. díl

V minulém díle jsem vám vysvětlil popis instalace MySQL. Dnes vám trochu představím základní uživatelské rozhraní a ukážu pár věcí, které pro začátek stojí za pozornost.
Spouštíme MySQL pod Windows

V tuto chvíli předpokládám, že jste úspěšně nainstalovali MySQL a že tedy nic nebrání jejímu prvnímu spuštění. Přesuňte se proto do adresáře s instalací (standardně c:\mysql) a zde do složky bin. V této složce naleznete většinou tři možné SQL servery:

mysqld - odladěná verze s automatickou kontrolou alokace paměti (někdy mysqld-shareware)

mysqld-opt - optimalizovaná verze pro Windows 95/98/Me

mysqld-nt - optimalizovaná verze pro Windows NT/2000

(Poznámka: v novějších verzích jsou ještě k dispozici mysqld-max a mysqld-max-nt, ale o těch se nebudu blíže zmiňovat)

V zásadě platí, že pokud používáte Windows 95/98/Me, pak byste měli – pokud se nevyskytnou problémy – spouštět mysql-opt. Jestliže chcete, aby se tento program spouštěl automaticky při startu Windows, umístěte zástupce tohoto souboru do složky Po spuštění. Nikdy se mi zatím nestalo, abych měl se serverem mysqld-opt problémy, ale pokud se u vás vyskytnou, nezbude vám nic jiného, než spouštět standardní mysqld.

V případě použití Windows NT/2000 je nejlépe spouštět mysqld-nt. Znovu zde platí, že jakmile se vyskytnou nějaké problémy, „šáhněte“ raději pod mysqld. Jestliže jste zakoupili licenci, pak můžete spouštět MySQL taktéž jako službu. Instalaci provedete následujícím způsobem:

mysqld-nt --install

Pokud jste se po určitém čase rozhodli již nadále MySQL jako službu nespouštět, službu jednoduše zase odeberete:

mysqld-nt --remove

Jestliže máte nějaké problémy při provozu MySQL pod Windows NT/2000, pak raději spouštějte server jako samostatný program:

mysqld --standalone

(Upozornění: SQL server se spouští jako proces na pozadí)

MySQL standardně využívá znakovou sadu Latin1 (Windows standardní). Proto doporučuji spouštět MySQL s podporou češtiny. V zásadě existují dvě možnosti. Buďto znakovou sadu nastavíme pokaždé při spuštění

mysqld-opt --default-character-set="win1250" (popřípadě mysqld či mysqld-nt)

anebo znakovou sadu nastavíme přímo v konfiguračním souboru my.cnf. V tomto souboru stačí nastavit u položky default-character-set na win1250. Kompletní výčet všech možných znakových sad naleznete v souboru c:\mysql\share\charsets\Index (podle toho, kam jste instalovali).

Spouštíme MySQL pod Linuxem

Pro samotné spouštění MySQL pod Linuxem je dobré vytvořit speciálního uživatele, který sice nebude mít žádná práva, ale bude moci „pouze“ spouštět MySQL server. Před vytvořením tohoto uživatele se budete muset přihlásit jako administrátor (tj. root). Následovně vytvořte daného uživatele:

/usr/sbin/groupadd mysqlgrp
/usr/sbin/useradd -g mysqlgrp mysqlusr

V tuto chvíli jste vytvořili uživatele mysqlusr. Nyní potřebujete zajistit, aby do podadresáře var (v místě, kam jste nainstalovali MySQL) měl přístup pouze vámi nově vytvořený uživatel. To zajistíte následujícím způsobem (za předpokladu, že jste instalovali do /usr/local/mysql):

cd /usr/local/mysql
chown -R mysqlusr.mysqlgrp var
chmod -R go-rwx var

Teď je vše nastaveno a vy můžete spustit SQL server:

bin/safe_mysqld --user=mysqlusr &

MySQL monitor

Pro obsluhu MySQL se využívá tzv. MySQL monitor. Jedná se o okno s příkazovým řádkem (konzolí), pomocí něhož manipulujeme s databázovým systémem. Pro řadu uživatelů bývá toto uživatelské rozhraní pro začátek trochu nezvyklé, ale vždy brzy pochopí jeho nesporné výhody (rychlost, vzdálená správa pomocí Telnetu apod.). Proto nyní spusťte soubor mysql.exe v adresáři bin. Pokud se vše zdařilo, měl by se spustit MySQL monitor. Výpis bude vypadat přibližně takto:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15 to server version: 3.23.37-debug

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

mysql>

(Poznámka: Tento text se může lišit podle verze či systému, ve kterém MySQL běží.)

Nyní můžete pomocí příkazové řádky zadávat jednotlivé SQL příkazy. Zde budou mít výhodu uživatelé Linuxu, kteří můžou bez problému pomocí kurzorových šipek rolovat v historii příkazů, což ve Windows bohužel nejde. Tato funkce je užitečná zejména tehdy, když uděláte chybu v zadaném příkazu; místo jeho dlouhého opisování si jej prostě znovu vyvoláte, opravíte chybu a příkaz odešlete. Toto není dáno rozdíly verzí MySQL, ale architekturou operačního systému.

Při instalaci se automaticky vytvoří dvě databáze – test a mysql. Databáze test, jak již název napovídá, je určena k testování a je standardně prázdná. Druhá databáze, mysql, slouží k uchovávání práv. Tato databáze je životně důležitá a měl by k ní mít přístup pouze správce systému.

Výpis všech dostupných databází realizujeme takto:

mysql> show databases;
+-----------+
| Database  |
+-----------+
| mysql    |
| test      |
+-----------+

Tyto databáze jsou standardně uloženy ve podsložce Data (Windows) respektive /usr/local/mysql/data (Linux).

Vzhledem k tomu, že nad MySQL teď nemáte úplnou kontrolu, je čas prohlásit se za roota (správce). Nastavte se proto na databázi mysql, která obsahuje nastavení práv.

mysql> use mysql;

V této databázi se nachází tabulka user. Tato tabulka obsahuje seznam uživatelů a jejich práva. V této tabulce vymažeme veškeré anonymní uživatele:

mysql> delete from user where Host=`localhost` and User=``;

Následně ukončíme MySQL Monitor.

mysql> quit

Ve stejné složce jako MySQL monitor se nachází též soubor mysqladmin.exe. Pomocí mysqladmin provádíme administraci celého systému a nyní jej využijeme k aktualizaci práv:

mysqladmin reload

Námi změněná práva jsou nyní aktualizována. Teď se nastavíme jako root (správce):

mysqladmin -u root password nove_heslo

Pokud se vše podařilo, měl byste být od této chvíle jediný, kdo může měnit nastavení práv (tj. upravovat databázi mysql). Nyní se opětovně přihlaste. Tentokráte ovšem již jako root:

mysql -u root -p

Parametr -u znamená, že se k systému přihlašuje uživatel, který nemá běžná práva. Parametrem -p dáme MySQL pokyn, že od nás má požadovat heslo.

Enter password: *******

Jestliže zadáme heslo chybně, pak nás MySQL nepustí dále a vypíše chybové hlášení:

ERROR 1045: Access denied for user: `root@localhost` (Using password: YES)

V případě, že se vám vše zdařilo, měl byste mít plný přístup do databáze mysql. Ostatním uživatelům, kteří nemají patřičná práva, se při použití příkazu use mysql vypíše pouze chybové hlášení:

ERROR 1044: Access denied for user: `@localhost` to database `mysql`

Pro dnešek by to na krátké seznámení stačilo. Ukončete MySQL monitor příkazem quit a následovně shoďte pomocí mysqladmin i SQL server:

mysqladmin -u root -p shutdown

(Upozornění: SQL server ukončujte vždy korektním způsobem. Náhlá vypnutí totiž mohou poničit data, jejichž následná obnova bývá při špatném zálohování problematická.)

Závěrem

Toto by bylo pro dnešek vše. Jak vidno, práce se základním uživatelským rozhraním není zase tak zlá, jak by se na první pohled mohlo zdát. Příště si povíme něco o návrhu a tvorbě databází.

Témata článku: Software, Programování, Password, Error, Remove, Welcome, Díl, Code, Následná obnova, Root

20 komentářů

Nejnovější komentáře

  • Lukas 19. 5. 2004 14:12:35

    po zadani teto sekvence prikazu :

    Ivan 15. 2. 2003 12:08:15
    "...pomocí kurzorových šipek rolovat v historii příkazů, což ve Windows...
  • JanoSk 17. 9. 2001 11:25:04

    Zc> jiste podnetne i pravdive, ale precijen - bez
    Zc> znalosti...

Určitě si přečtěte

Země se jenom o vlásek vyhnula věčnému zmrznutí

Země se jenom o vlásek vyhnula věčnému zmrznutí

** Země po většinu doby své existence zmrzlá rozhodně nebyla ** Podle nového výzkumu tomu však unikla jen o vlásek ** Kdyby totiž byla jenom o 15 procent dále od Slunce, tak by prý kompletně celá zamrzla

20.  9.  2017 | Stanislav Mihulka | 9

CCleaner obsahuje softwarovou havěť! Tvůrcům se do kódu dostali hackeři

CCleaner obsahuje softwarovou havěť! Tvůrcům se do kódu dostali hackeři

** Masově oblíbený program pro softwarovou očistu Windows ovládli hackeři ** Narušení se podařilo zavčas odhalit, unikla jen data o počítačích uživatelů ** Je paradoxní, že CCleaner byl slabě zabezpečen, když jej letos koupil Avast

18.  9.  2017 | David Polesný | 45

Noční strana Venuše vydala další tajemství

Noční strana Venuše vydala další tajemství

18.  9.  2017 | Jiří Černý

Jak tankují bombardéry: Z létající benzinky šest kilometrů nad Českem

Jak tankují bombardéry: Z létající benzinky šest kilometrů nad Českem

** Bombardéry tankují z létající benzinky Boeing KC-135 Stratotanker ** Tu americké letectvo pro doplňování paliva jiných letounů ve vzduchu využívá už více jak půlstoletí ** Tankování probíhá přes speciální výsuvné čerpací rameno na zádi

17.  9.  2017 | Natoaktual.cz

Hledáte účinný lék na nespavost? Pořiďte si psa!

Hledáte účinný lék na nespavost? Pořiďte si psa!

** „Živý lék“ proti nespavosti předepisují lékaři z věhlasné Mayo Clinic ** Lidé, kteří sdílejí ložnici se psem, spí kvalitněji ** Studie však varuje: Neberte si psa do postele!

18.  9.  2017 | Jaroslav Petr | 4


Aktuální číslo časopisu Computer

Vyplatí se ještě těžit kryptoměny?

Velký test studentských notebooků

Test pěti levných soundbarů

Nejlepší chytré hodinky