Image
7.6.2016 0 Comments

Databázy / 3.časť

Späť na úvod >> Späť na seriál

Teraz si konečne MySQL server nainštalujeme. Verím, že ste niekde získali alebo stiahli z internetu  príslušné súbory s SQL serverom a k nemu príslušným klientom. Zopakujme si, že server je tá časť, ktorá vykonáva naše príkazy a vracia nám požadované odpovede, a klient je tá časť, cez ktorú serveru tie príkazy zadávame a v ktorom požadované výsledky vidíme. Nainštalovať len samotný server je možné, lebo môžeme k nemu pristupovať aj inak ako cez klienta. Napríklad môžeme komunikovať s SQL serverom aj cez webový prehliadač (Netscape, Opera, Internet Explorer a iné) alebo z inej aplikácie, ako je Excel a podobne. Nainštalovať klienta bez servera nemá zmysel. Balík MySQL (tak ako väčšina na Linuxe) sa označuje zvláštnym spôsobom, napr: MySQL-3.22.27-1cs.i386, kde číslica 3 znamená verziu použitých formátov súborov, číslo 22 je číslo jadra programu a číslo 27 je tzv. release verzia. 1cs znamená úpravu na používanie čs. znakov a i386 hovorí, že tento súbor je určený pre procesory Intel od 386-ky a vyššie. Posledná stabilná verzia je 3.22.xx, kde na tom xx až tak veľmi nezáleží. Ak budete používať verziu 3.21.xx, nemusia všetky príkazy fungovať korektne. Pripomínam, že verzie pre Windows môžete používať v zmysle shareware podmienok a ako free len tú, ktorá bola uvoľnená po uvedení novšej verzie (napr. 3.21.xx). Pre Linux toto obmedzenie neplatí, ale zase sa nevypláca používať posledné verzie, (3.23.xx) ktoré bývajú spravidla ešte „nevychytané“!

Ako sme si povedali, MySQL server existuje pre platformu Windows aj pre Linux. Ukážeme si postupy inštalácie pre obidva systémy.

Inštalácia MySQL pre Windows
Kompletný balík, teda server aj klient, sa nachádza v jednom spakovanom súbore, napr. mysql-shareware-3.22.34-win.zip, čo je posledná stabilná shareware verzia pre 32-bitové Windows . Názov sa môže  mierne líšiť podľa verzie programu. Jeho veľkosť je približne 5 MB.
Po rozzipovaní balíka spustíme program setup, ktorý nás prevedie klasickou „oknoidnou“ inštaláciou, ktorú zvládne aj začiatočník. Môžeme si zvoliť cestu, kam sa MySQL nainštaluje. Pokým neinštalujeme MySQL do defaultného adresára c:\mysql, budeme potrebovať súbor my.cnf, ktorý je potrebné prekopírovať do koreňového adresára na disku c:. Ten získame premenovaním a upravením súboru my-example.cnf, ktorý nájdeme v adresári, kde sme inštalovali MySQL. Rovnako budeme súbor my.cnf potrebovať, ak z akéhokoľvek dôvodu našu inštaláciu neskôr presunieme do iného adresára. V oboch prípadoch je potrebné nájsť a upraviť podľa skutočnosti riadok s direktívou basedir. Na tomto riadku treba zrušiť komentár (zmazať znak #) a upraviť reálnu cestu k inštalácii MySQL. Ak sme ponechali inštaláciu na inštalačný program a ten MySQL nainštaloval do adresára c:\mysql, súbor my.cnf nepotrebujeme a uvedené pokyny nevykonáme.
Po inštalácii je vhodné pridať do premennej PATH v súbore autoexec.bat adresár bin z inštalácie MySQL, aby sme mohli štartovať a zastavovať server a takisto aj spúšťať klienta a ostatné obslužné programy z príkazového riadka v ktoromkoľvek adresári.
Treba mať na pamäti, že inštalácia sa podľa verzie líši, napr. neumožňuje vybrať iný adresár ako c:\mysql a podobne (verzie 3.21.xx). Predpokladám, že ste dostatočne erudovaní a takéto malé odlišnosti vás nemôžu pomýliť. Na záver premenujeme program mysqld-shareware na mysqld.

Ak sme úspešne vykonali inštaláciu, môžeme server po prvýkrát spustiť.

Spúšťanie a zastavovanie servera MySQL
Spôsob štartovania a zastavovania servera sa líši podľa toho, či sme inštalovali na Windows 95/98 alebo na platformu NT.

Spúšťanie a zastavovanie vo Windows 95/98
Server spustime z adresára mysql\bin (alebo priamo, ak sme upravili premennú PATH) príkazom:
mysqld

alebo:

mysqld-shareware (niektoré verzie).

Server sa spustí na pozadí a je pripravený na činnosť.
Ak chceme server zastaviť, použijeme príkaz:
mysqladmin -u root shutdown

Spúšťanie a zastavovanie na Windows NT
Spúšťanie a zastavovanie na Windows NT môžeme vykonať dvojakým spôsobom – a to buď ako konzolovú aplikáciu, alebo ako službu (service). Ak server spúšťame ako konzolovú aplikáciu, použijeme príkaz:
mysqld –standalone

a zastavujeme už známym:
mysqladmin -u root shutdown.

Ak chceme používať MySQL na NT ako službu (service),  pridáme server medzi služby príkazom:
mysqld –install

a štartujeme a zastavujeme server príkazmi:
net start mysql alebo net stop mysql

A ešte jedna perlička. Ak spustíme server príkazom:
mysqld --language=slovak  (v starších verziách je len voľba czech),
bude s nami komunikovať v slovenskom jazyku. Odteraz dostaneme všetky chybové hlásenia v zrozumiteľnejšej forme. Vyskúšajte!

Inštalácia MySQL na Linuxe
Pri inštalácii na Linuxe máme na výber z troch možností:

  • používatelia RedHatu a SuSE môžu použiť binárku vo formáte RPM
  • inštalovať z vopred skompilovanej binárnej distribúcie
  • použiť zdrojové texty a skompilovať si MySQL na vlastnej distribúcii Linuxu

Inštalácie binárnej distribúcie MySQL formátu RPM
Ak v našom počítači sídli Red Hat Linux, SuSE Linux alebo máme k dispozícii program rpm pre prácu s redhatovskými balíkmi, použijeme pravdepodobne tento typ inštalácie. Je najjednoduchšia a najrýchlejšia.
Čo budeme potrebovať? Tak napríklad balík servera  MySQL-3.22.27-1cs.i386.rpm a balík klienta MySQL-client-3.22.27-1cs.i386.rpm.
Potom nás čaká jednoduchý krok. Pod X-Windows v našej obľúbenej aplikácii pre správu rpm balíkov (v GNOME je to GNOrpm, v KDE je to kpackage) tieto balíky nainštalujeme.
Druhou možnosťou je inštalácia z príkazového riadka. V adresári, kde máme uložené .rpm balíky, spustíme príkaz:
rpm -Uhv MySQL-*.rpm

Takto sa naraz nainštaluje server aj klient, vytvoria príslušné databázy test a mysql. A navyše server sa hneď spustí a beží na pozadí.
Zároveň sa nastavia štartovacie skripty tak, aby sa pri každom spustení Linuxu spustil aj MySQL server.

Inštalácia binárnej distribúcie MySQL formátu gz
V prípade, že náš Linux nevie pracovať s balíkmi rpm a my chceme inštalovať binárnu distribúciu, musíme si nájsť príslušný súbor. Ten má príponu tar.gz alebo tgz. Tieto prípony sú ekvivalentné a znamenajú, že tento súbor bol vytvorený balíčkovačom tar a pakovačom gzip.
Najprv sa rozhodneme, kam chceme MySQL inštalovať. Binárny súbor umiestnime o úroveň vyššie, teda ak chceme mať MySQL v adresári /usr/local/mysql, umiestnime súbor do /usr/local.

Uložený súbor rozbalíme pomocou príkazu:
tar zxvf meno súboru napr. tar zxvf mysql-3.22.27-pc-linux-gnu-i586.tar.gz.

Týmto vznikne adresár mysql-3.22.27-pc-linux-gnu-i586, ktorý pre jednoduchší prístup premenujeme na mysql, alebo príkazom:
ln -s mysql-3.22.27-pc-linux-gnu-i586 mysql vytvoríme symbolickú linku mysql na daný adresár.

Vojdeme do adresára /mysql/scripts a spustíme príkaz:
./mysql_install_db
ktorý vytvorí potrebné databázy mysql a test.

Tým je inštalácia hotová a server môžeme spustiť z adresára  mysql/bin príkazom:
./safe_mysqld &

Znak „&“ (ampersand) zabezpečí, že sa server spustí na pozadí.

Inštalácia zo zdrojových textov
Ak sa rozhodneme skompilovať MySQL sami, musíme si zabezpečiť zdrojové texty programu. Upozorňujem, že kompilácia a inštalácia zo zdrojových textov je pomerne náročná pre linuxového začiatočníka. Na druhej strane len pri tomto type inštalácie môžeme nastaviť parametre servera, ktoré by sme iným spôsobom nenastavili. Za jeden z najdôležitejších parametrov považujem možnosť českého (teda skoro slovenského – okrem niekoľkých znakov) abecedného triedenia. To znamená, že takto skompilovaný server dokáže rozpoznať diakritické znaky a triediť podľa českej abecedy.

Súbor so zdrojovými textami si uložíme do ľubovoľného adresára a ten rozbalíme pomocou známeho príkazu:
tar zxvf mysql-3.22.27.tar.gz.

Po tomto kroku sa musíme rozhodnúť, kam chceme MySQL nainštalovať. Defaultným (štandardným = prednastaveným) adresárom je usr/local, toto však nemusí každému vyhovovať. Takisto sa musíme rozhodnúť, či chceme naše databázy umiestniť do defaultného adresára /usr/local/data alebo ich umiestnime inde.

Teraz vstúpime do adresára, kde sme rozbalili zdrojové texty, a spustíme príkaz:
./configure --prefix=[cesta_inštalovania_mysql ] –localstatedir=[ cesta_inštalovania_databáz] --with-charset=czech.

configure je konfiguračný príkaz, prefix a localstatedir nastavia cestu k serveru a databázam, with-charset nastaví triedenie v českom jazyku. Slovenský nie je k dispozícii.

Ak sa všetko vykoná, ako má, teda bez chybových hlásení, je naša inštalácia pripravená na kompiláciu, ktorú spustíme príkazom:
make

Na samotnú inštaláciu stačí zadať:
make install
a MySQL máme v nami zadanom adresári. Odporúčam pridať do premennej PATH cestu ku spustiteľným súborom, teda [cesta_inštalovania_mysql]/bin.
Samotná kompilácia je náročná nielen na nervy kompilujúceho, ale hlavne na čas. Na takom dnes už priemernom PC s procesorom Pentium 233 MMX so 64 MB RAM trvá asi 30 minút, na slabších aj hodinu. Na silnejších počítačoch je to len niekoľko minút.

Po samotnej kompilácii je potrebné ešte vytvoriť databázy test a mysql. O to sa postará skript mysql_install_db, ktorý sa nachádza v rozbalenej distribúcii zdrojových textov a v adresári scripts.
Po dokončení skriptu máme k dispozícii MySQL server s používateľom root bez hesla a riadkového klienta mysqld.
MySQL server spustíme pomocou druhého skriptu safe_mysqld & .

Prvé spojenie
Ak sme úspešne nainštalovali server aj klienta v hociktorej platforme ľubovoľným spomínaným spôsobom, môžeme spustiť server a vyskúšať prvé spojenie s ním.
Či v príkazovom riadku DOS-u, alebo v textovej konzole Linuxu, odteraz budú príkazy pre prácu s MySQL serverom alebo riadkovým klientom rovnaké.

Zadáme príkaz:
mysql -u root test
ktorý nás pripojí k databázi test na serveri. Výsledok spojenia je na obrázku č.1:

Ak vidíme na monitore podobný obrázok, máme dôkaz, že SQL server beží. Klient mysql, nazývaný aj MySQL monitor, sa zobrazí tzv. promptom mysql>, čo značí, že očakáva zadanie príkazu. Zoznam najzákladnejších príkazov získame po zadaní príkazu help.
Aby bolo jasné, že zadávame príkazy v prostredí klienta mysql, budeme ich uvádzať týmto promptom mysql>, aby sme ich odlíšili od príkazov zadávaných v operačnom systéme.

Ak chceme prácu s týmto riadkovým klientom ukončiť, zadáme príkaz
mysql> exit

alebo

mysql> quit.

Root
Ten, kto má v MySQL najvyššie postavenie, a teda má plné práva na spravovanie servera, sa nazýva root. Pozor, aj keď je jeho meno totožné s najvyšším správcom root na Linuxe, nejde o tú istú funkciu a nemusí (ale môže) to byť ani tá istá osoba. Ak je na Linuxe administrátor root Janko Konôpka s heslom Marienka, môže byť v MySQL administrátorom root Ferko Malý s heslom 5bvD45. Ale, samozrejme, nič nebráni tomu, aby Janko Konôpka bol zároveň rootom v MySQL a heslo do Linuxu mal rovnaké ako do SQL servera alebo úplne iné.

Nastavenie hesla pre roota
Základným prvkom bezpečnosti je používanie hesiel pre používateľov. MySQL sa štandardne inštaluje s vytvoreným používateľom root bez hesla. Preto je potrebné heslo nastaviť. To dosiahneme pripojením k databáze mysql ako root príkazom:
mysql -u root mysql

Spustí sa klient MySQL monitor a v prompte zadáme príkaz:
mysql> update user set password=password(‘heslo_pre_roota’) where user=’root’;

Za heslo_pre_roota si dosadíme naše heslo, ktoré chceme v spojení s rootom používať. V zásade by heslo malo byť také, aby ho nikto nebol schopný uhádnuť. Nie je vhodné používať ako heslo mená svojich blízkych, rôznych vecí a podobne. Najťažšie odhaliteľné heslá sú kombinácie náhodných znakov s číslicami, napríklad fr45HC8a. Upozorňujem, že MySQL tak ako Linux alebo Windows NT je case-sensitive, teda rozlišuje malé a veľké písmená. Teda heslo ‘priklad_hesla’ nie je totožné s heslom ‘PrIkLaD_HeSlA’. Heslá, tak ako všetky textové reťazce, sa zadávajú v apostrofoch (znak ,nie v dvojitých úvodzovkách).

Pozor na znak ; (bodkočiarka) na konci príkazu! Ten nie je súčasťou SQL príkazu, ale ho vyžaduje riadkový klient mysql a znamená niečo také ako „teraz vykonaj tento príkaz“. Všetky príkazy, nielen SQL, zadávané v tomto klientovi sa musia ukončovať znakom ;. Ak je príkaz, ktorý zadávame, veľmi dlhý, stačíme kláves Enter a klient vytvorí nový riadok označený šípkou ->. Tu môžeme pokračovať, a keď zapíšeme celý príkaz, nezabudnime na bodkočiarku. Stlačíme Enter a nami zadaný príkaz sa vykoná. Ak sme neurobili chybu, príkaz potvrdí správnosť vykonania hlásením Query OK, tak ako to je na obrázku č.2.

Význam jednotlivých inštrukcií v uvedenom príkaze si objasníme neskôr.
Teraz je potrebné ukončiť klienta príkazom exit (alebo quit) a v príkazovom riadku operačného systému spustiť príkaz:
mysqladmin reload

ktorý spôsobí načítanie nových prístupových práv. Ak sa chceme teraz  pripojiť k serveru k databáze test, musíme použiť prepínač -p:
mysql -u root -p test

alebo

mysql -u root -pheslo_pre_roota (spolu s písmenom „p“- bez medzery!).

Ak sme zadali prvý tvar príkazu, systém sa spýta na heslo hlásením Enter password:, ktoré musíme zadať z klávesnice. Pri zadávaní sa z dôvodu bezpečnosti heslo vypisuje hviezdičkami, to preto, keby sa niekto pozeral cez plece. Preto musíme byť pozorní pri ťukaní do klávesnice. Mám jednu dobrú radu: nepoužívajme heslo, v ktorom sú znaky „y“ a“z“. To preto, že nevieme, či je nastavená klávesnica QWERTY alebo QWERTZ. Ak zadáme nesprávne heslo, pokus o spojenie zlyhá a server vydá chybové hlásenie. Ak sme zadali heslo správne, vypíše sa uvítanie, tak ako to je na obrázku č.3

Základné programy na prácu s MySQL
Ak sa pozrieme do adresára, kde sme inštalovali MySQL, zistíme, že sa tu nachádzajú ešte ďalšie programy. Teraz sa stručne oboznámime s tými, ktoré budeme najčastejšie používať:

  • mysqld – samotný SQL démon – server
  • mysql – riadkový klient MySQL monitor
  • mysqladmin – administrátorská utilita. Vytvára a maže databázy, načítava tabuľky práv, vypisuje verziu, procesy  a status servera
  • mysqldump – exportuje (dumpuje) databázu do súboru
  • mysqlimport – nahráva dáta z textového súboru do príslušných tabuliek
  • mysqlshow – zobrazuje informácie o databázach, tabuľkách, stĺpcoch a indexoch
  • mysqlmanager – grafický klient (len vo Windows XX)

Základné databázy
Ako sme si povedali, po úspešnej inštalácii sa vytvoria v systéme MySQL dve základné databázy: test a mysql.

Databáza test je klasická databáza, ktorú systém pripravil pre naše cvičné pokusy. Databáza mysql je databáza, v ktorej sú uložené administrátorské tabuľky prístupových práv. Ako sme skôr povedali, tu sa nastavujú používatelia a ich práva pre prácu s rôznymi databázami a tabuľkami v nich. Zatiaľ čo do databázy test môže pristupovať každý používateľ MySQL, s databázou mysql môže operovať iba root. Databáza test je zatiaľ prázdna, teda neobsahuje nijaké tabuľky. V databáze mysql sa nachádzajú tzv. grant tables, ktorých počet sa líši v jednotlivých verziách programu. V starších verziách sú tri najzákladnejšie tabuľky – user, db, host.  Podľa verzie sa okrem týchto tabuliek nachádzajú ešte tabuľky tables_priv a columns_priv alebo func. Ak chceme vedieť, aké tabuľky máme, v mysql klientovi zadáme skupinu príkazov:
mysql> use mysql;

ktorý povie systému, že budeme pracovať s databázou mysql.

Príkazom
mysql> show tables;
vypíšeme všetky tabuľky v databáze mysql, tak ako to je na obrázku č.4.

Význam jednotlivých tabuliek si vysvetlíme v ďalšej časti seriálu.
Nabudúce si ukážeme, ako sa tvoria, napĺňajú a prezerajú naše známe tabuľky KNIHA a ZANER.

Poznámka:
Tí, ktorí majú prístup k internetu, môžu nájsť ďalšie informácie na WWW stránke mior.miesto.sk. Nájdu tu linky na spomínané súbory, ako aj cvičné príklady, ktoré budeme postupne vytvárať.

 

 

 

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Ako na to

Tipy a triky: Ako na snímku obrazovky na akomkoľvek počítači s Windows?

02.12.2016 00:13

Ak snímky obrazovky robíte často apotrebujete napríklad funkcie na posun stránok alebo snímanie zobrazenia pri vyššom rozlíšení displeja, zrejme používate nejakú špecializovanú aplikáciu. Väčšina použ ...

Ako na to 1

Tipy a triky: Ako aplikácii prednastaviť spúšťanie s administrátorskými právami?

30.11.2016 00:10

Väčšina aspoň trochu skúsenejších používateľov vie, že aj keď máte na operačnom systéme Windows vytvorený administrátorský účet, aplikácie pre bezpečnosť nefungujú vždy splnými administrátorskými práv ...

Ako na to 2

Tipy a triky: Ako vypnúť uzamykaciu obrazovku vo Windows 10?

29.11.2016 00:10

Rozčuľuje vás, že pred každým prihlásením doúčtu vášho počítača musíte prejsť uzamykacou obrazovkou? Windows 10 na tejto obrazovke ukazuje čas,dátum anejakú zaujímavú fotografiu zrôznych kútov sveta. ...

Žiadne komentáre

Vyhľadávanie

Kyocera - prve-zariadenia-formatu-a4-s-vykonom-a3

Najnovšie videá