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í, Error, Welcome, MySQL, Root, Password, Následná obnova, Díl, Remove, Code

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

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

** Tesla představila elektrický kamion ** Má obdivuhodný výkon i dojezd ** Prodávat by se měl už za dva roky

17.  11.  2017 | Vojtěch Malý | 228

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

** I pod hranicí desíti tisíc korun existují dobře použitelné notebooky ** Mohou plnit roli pracovního stroje i zařízení pro zábavu ** Nejlevnější použitelný notebook koupíte za pět a půl tisíce

16.  11.  2017 | Stanislav Janů | 54

Do 20 let nebude nikdo vlastnit auta, říká zkušený šéf několika automobilek

Do 20 let nebude nikdo vlastnit auta, říká zkušený šéf několika automobilek

** Bývalý šéf a expert z několika velkých automobilek se vyjádřil k budoucnosti tohoto průmyslu ** Do 20 let „nikdo“ nebude vlastnit auta ** Veškerá doprava bude řešená pomocí velkých logistických platforem

15.  11.  2017 | Karel Javůrek | 75


Aktuální číslo časopisu Computer

Otestovali jsme 5 HDR 4K televizorů

Jak natáčet video zrcadlovkou

Vytvořte si chytrou domácnost

Radíme s koupí počítačového zdroje