
MySQL po lžičkách (1)
A máme tady nový seriál. Tentokrát se v něm seznámíme s prostředím relační
databáze MySQL. Povíme si, k čemu databáze MySQL slouží, jak s nimi pracovat
a mnoho a mnoho dalšího. V dnešní úvodní části si povíme co MySQL je a jak
tento databázový systém získat a nainstalovat.
V úvodu článku děkuji Shaanovi za inspiraci. :-) Teď ale přejděme k MySQL.
Co je MySQL?
SQL - Structured Query Language - je de facto programovacím, nebo
lépe řečeno "dotazovacím", jazykem. Prostřednictvím klientské části systému
kontaktujeme serverovou část a zadanými dotazy zjišťujeme potřebné informace,
které bývají při výstupu uspořádány do tabulek. Právě tabulka je základním
stavebním prvkem SQL databáze. Je tvořena sloupci a řádky a shrnuje přesně
specifikované informace, které si od serveru naším dotazem vyžádáme.
Systémů SQL existuje celá řada. Jmenujme alespoň Oracle, Sybase či Informix
jako zástupce komerčních řešení určených především pro vysoce náročná
"high-end prostředí" nebo PostgreSQL a MySQL ze světa open source řešení
řady pro "běžné" servery.
MySQL je systém relační databáze, který největší část svého uplatnění nachází
zejména při webové tvorbě. Na rozdíl od komerčních projektů nabízí "free
alternativu" vysoce kvalitního databázového systému. Abych byl přesný -
o "free" projekt se jedná, pokud mluvíme o MySQL pro platformu Linux.
Jestliže budeme chtít tento systém využívat v prostředí MS Windows pro
komerční účely, musíme si připlatit. (existují samozřejmě verze MySQL i pro
další platformy - FreeBSD, MacOS, Solaris,..., ale těmi se zabývat nebudeme).
Předností MySQL je celá řada. Kromě už uvedené "ceny" je to také spojení
funkcí rozsáhlejších databázových systémů s vysokou rychlostí.
Kromě výše uvedených vlastností nabízí MySQL také celou řadu dalších
vymožeností. Ať už je to podmíněné mazání tabulek nebo kupříkladu vedení
fulltextového indexu. Nabízí také podporu několika tabulek (ISAM, MyISAM,
MERGE, HEAP). Těmito technickými detaily se však budeme zabývat až o něco
později.
Ještě doplním, že při komunikaci s databází se využívají sokety. Jestliže
komunikujeme se serverem vzdáleně, otevře se TCP spojení se serverem
na soketu 3306.
Kde MySQL získat?
Inu, nejjednodušší cestou je bezesporu návštěva oficiálních stránek projektu
- http://www.mysql.org -
a sekce Downloads.
Verze MySQL
Celý systém MySQL je rozdělen na dvě větve - vývojovou a stabilní. Jak už
název napovídá, vývojová větev je taková, která obsahuje nové a zatím ne
zcela vyzkoušené a také mnohdy ne zcela funkční a bezpečné prvky. Oproti tomu
stabilní je ta, která už má testování za sebou a všechny známé chyby byly
opraveny. Je to zkrátka podobné, jako například u jádra.
MySQL Standard
Základní verze systému, obsahuje také plnou podporu transakcí
(databázový backend InnoDB).
MySQL Max
Rozšířená verze systému. Oproti standardnímu modelu obsahuje navíc podporu
šifrování komunikace pomocí SSL a mnoho dalších zajímavostí, které nejsou
ještě považovány za zcela stabilní.
Pokud nepotřebujete některé z vlastností, které obsahuje verze Max,
je jistější sáhnout po verzi Standard.
Licence
MySQL je šířena pod licencí GNU GPL. Podmínkou ovšem je, že aplikace, kterou
vyvíjíte bude také šířena pod licencí GPL.
Pokud vám licence GNU GPL z nějakého důvodu nevyhovuje, anebo
např. hodláte MySQL šířit jako součást vašeho produktu, jehož licence není
s GNU GPL licencí kompatibilní, můžete si zakoupit komerční licenci
(MySQL Pro nebo MySQL Classic). To platí i v případě, kdy MySQL s vaší aplikací
šířit nebudete, ale vaše non-GPL aplikace se bez MySQL neobejde. Komerční licenci nebudete
potřebovat v případě, kdy sice vaše aplikace není pod licencí GNU GPL, ale MySQL
žádným způsobem nešíříte a současně vaše aplikace není specificky na MySQL závislá.
Komerční licenci také nepotřebujete pokud MySQL máte pouze pro osobní použití.
Detailní podmínky stran licencování MySQL jsou uvedeny na stránkách projektu
(http://www.mysql.com/products/licensing.html).
MySQL Pro
Komerční licence, která pokrývá nasazení databázového stroje včetně podpory
transakcí (databázový backend InnodDB) a zamykání na úrovni řádků.
MySQL Classic
Komerční licence, která pokrývá nasazení databázového stroje bez podpory transakcí
(pouze nativní MySQL backend).
Jak si MySQL nainstalovat?
Samozřejmě existují dva způsoby, jak MySQL nainstalovat. První představuje
binární distribuci (RPM balíčky, nebo TAR archiv pro případ,
že naše distribuce nepodporuje RPM), druhý způsob je sestavení
MySQL ze zdrojových kódů. Pokud k tomu nemáte závažný důvod, je lepší
použít binární distribuci, než MySQL překládat ze zdrojových kódů, protože
předkompilované balíčky jsou optimalizovány na rychlost. Také se kvůli stabilitě
nedoporučuje překládat MySQL s kompilátorem GCC 2.96 na platformě Intel/x86.
Podívejme se nejprve na ten první způsob.
K dispozici máme hned několik balíčků:
| Balíček | Popis |
| mysql-version.i386.rpm | serverová část |
| mysql-client-version.i386.rpm | klientská část |
| mysql-bench-version.i386.rpm | výkonnostní testy |
| mysql-devel-version.i386.rpm | Knihovny |
| mysql-version.src.rpm | zdrojové kódy |
Pro běžný provoz nám bude bohatě stačit instalace serverové a klientské části
MySQL. To provedeme příkazy:
rpm -i mysql-version.i386.rpm
rpm -i mysql-client-version.i386.rpm
Tím tedy máme MySQL nainstalované a funkční. Podívejme se ale ještě na
druhý způsob.
Instalace ze zdrojových kódů předpokládá, že máme stažený soubor
mysql-4.01.xx.tar.gz, kde xx je číslo verze, které se může
lišit.
Nyní přesuneme tento soubor do některého adresáře a rozbalíme příkazem:
gunzip mysql-4.01.xx.tar.gz| tar xvf
Následně se přesuneme do nového adresáře - cd mysql-4.01.xx
a zahájíme instalaci klasickým způsobem:
./configure --prefix=/usr/local/mysql
make
make install
Nyní už jen doinstalujeme systémovou databázi mysql, která je nezbytná pro chod databáze (obsahuje totiž tabulky se seznamy uživatelů, přístupovými právy apod.) a vše je připraveno k používání:
scripts/mysql_install_db
Pro dnešek naše povídání o MySQL už zakončíme. V příští části našeho seriálu
budeme provádět první krůčky a kroky s databází. Později přejdeme i
k pravidelným praktickým ukázkám v části seriálu MySQL prakticky.
Zachovejte nám svou přízeň, za týden jsme tu zas s dalším dílem MySQL
po lžičkách.
Další části seriálu:
|