Kód DUM : VY_32_INOVACE_LIN.1.13 Název materiálu: 13_ Síťové služby – databázový server MySQL + PHP 1. díl Anotace DUM provede žáka instalací, základní konfigurací a zprovozněním serveru MySQL ve spolupráci s PHP a webovým serverem. Autor Ing. Vladimír KEBERT, CSc (Autor) Jazyk Čeština Očekávaný výstup RVP 18-20-M/01 Informační technologie, předmět: Operační systémy, 3. ročník Speciální vzdělávací potřeby Žádné Klíčová slova Př. LAMP, WAMP, XAMPP, PHP, server, Apache, Localhost, Host, MySQLd, service system.d, C/S , Druh učebního materiálu Prezentace s prvky interaktivity Druh interaktivity Kombinované Cílová skupina Žáci 3. ročníku Stupeň a typ vzdělávání Odborné vzdělávání Typická věková skupina 16–19 let Celková velikost Velikost materiálu v kB : 595 Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Vladimír KEBERT. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802–4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedagogických pracovníků (NÚV). 1
1. Databázový server pro dynamický web a databázové služby - v Linuxu je mnoho let implementován databázový server MySQL, který vznikl jako svobodný software, dnes jej však vyvíjí společnost Oracle a stává se částečně proprietálním - náhradou v nejbližší budoucnosti je fork(paralelní vývoj) databáze MySQL pod názvem MariaDB (licence GNU/GPL) - MariaDB jako fork se v systému chová plnohodnotně jako náhrada původního MySQL, disponuje rozšířením a vyšším výkonem - MariaDB bude výchozím databázovým strojem v distribucích ReHat (Fedora) Následující průvodce je platný pro oba servery, protože jsou binárně zpětně kompatibilní Obr. 1: Logo svobodné databáze MariaDB [2] Obr. 2: Logo svobodné databáze MySQL [6]
Linux – Apache – MySQL – PHP 2. Typické použití MySQL v oblasti webdesignu a publikování: L A M P L (W) – je prostřední operačního systému pro běhové prostředí Apache (též httpd, apache2) je webový server, běžící na pozadí MySQL je databázový server PHP je interpret jazyka PHP – zpracovává příkazy, převádí do HTML a předává je webserveru k vyřízení Linux – Apache – MySQL – PHP - MySQL je velmi známá a provázaná Open Source databáze ke každodennímu užití. - většina webových aplikací používá právě tuto databázi. - má využití od jednoduchých stránek až po nasazení velkého rozsahu, i v cloudových technologiích - MySQL je portována pro nejrůznější operační systémy i hardwarové platformy, je velmi univerzální.
3. Systém C/S MySQL má v Linuxu zpravidla součásti: - MySQL klient – slouží k ovládání a k připojení do databázového serveru - MySQL database connector (ODBC, JDBC) – pro spojení různých aplikací s MySQL (např. s OpenOffice) - MySQL server and related files – vlastní stroj (server) - MySQL Utilities – utility k nastavení a administraci (mysqladministrator) - MySQL configuration assistant – grafické konfigurátory (např. MySQL workbench, PhpMyadmin.) Obr. 2: Nainstalované součásti Fedora 16 [4]
Obr. 3: MySQL a její webová nadstavba – snímky obrazovky LAMP
4. Instalace a zprovoznění Distribuce FEDORA (a RPM distribuce s yumem): #yum -y install mysql instaluje klienta #yum -y install mysql-server instaluje server mysql #yum -y install php-mysql instaluje modul php promysql #yum -y install libdbi-dbd-mysql knihovny procedur #yum -y install mysql-workbench grafický konfigurátor (binární – oracle) A pokud máme aktivní webový server a php, pak ještě webový konfigurátor a databázový klient #yum -y install phpmyadmin 5. První spuštění a zavedení správce - v moderních distribucích se MySQL ovládá přes system.d jako služba na pozadí - lze ji trvale zapnout, aby se spouštěla při startu: - spuštění služby příkazem:
6. Analytika běhu serveru: Stav nastavení, kritické hodnoty a upozornění vypíše aplikace mysqltuner: Tento textový nástroj vypíše následující formou většinu kritických nastavení a nedostatků v konfiguraci: Běh serveru zjistíme příkazem
7. Zavedení správce serveru: Pokud spustíme příkaz #mysql 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)[5]: mysql -uroot, pak obdržíme příkazovou řádku MySQL superuživatele MySQL, např.[5]: 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> - Toto platí jen pro první spuštění, kdy MySQL nezná práva uživatelů. - Proto je nutné nejdříve příkazem #mysqladmin nastavit práva správce: #mysqladmin -uroot password „nové heslo“ - Po nastavení hesla je možné se připojit a administrovat server: # mysql -uroot -p Projde výzva zadání hesla se otevře přístup k MySQL jako superuživateli:
Konzole Mysql: Povšimněte si, že rootovský přístup mysql byl spuštěn z promptu uživatele. Uživatelé MySQL nejsou totožní se systémovými uživateli a musí být definování v databázi s názvem „mysql“, tabulce „user“!
6. LAMP – ukázka běhu komponent Obr. 4: Služba Apache a kontrola běhu – PHP MyAdmin – grafický konfigurátor MySQL
1. V systému spusťte terminál a přihlaste se jako ROOT 7. Úloha: Pod vedením učitele proveďte instalaci MySQL nebo MariaDB v linuxových distribucích KUBUNTU 12.04 nebo FEDORA 17 1. V systému spusťte terminál a přihlaste se jako ROOT 2. Proveďte balíčkovacím systémem nebo jeho nadstavbou instalaci klienta a serveru MySQL nebo MariaDB 3. Proveďte analytiku běhu při prvním spuštění 4. Proveďte # systemctl status service.httpd # systemctl status|start|stop service.mysqld (platí pro Fedora 15+) 5. Nastavte práva administrátora mysql pomocí #mysqladmin 6. Kontrola běhu a diagnostika: #mysqltuner (nutno předtím nainstalovat, pokud není)
Přehled použité literatury a děl: Pokud není uvedeno jinak, autorem použitých textů a mediálních příloh (obrázků, textů, interaktivních materiálů, screenshotů) je autor tohoto digitálního učebního materiálu. Příklady a skripty v příloze DUM jsou dílem autora tohoto materiálu. Použité zdroje: 1.ŠTRAUCH, Adam. Databáze MariaDB válcuje MySQL. [online]. 2012, 21. 12. 2012 [cit. 2013-03-10]. ISSN 1212-8309. Dostupné z: http://www.root.cz/clanky/databaze-mariadb-valcuje-mysql/ 2. Maria DB. [online]. MariaDB Foundation 2013 (Logo), 2013-02 [cit. 2013-03-10]. Dostupné z: https://mariadb.org/en/logos/ 3. ZAJÍC,P. PHP (1).[online],2003-2013 [cit. 2013-03-09]. ISSN 1801-3805. Dostupné z: http://www.linuxsoft.cz/article.php?id_article=173
4. FEDORA FOUNDATION. Navody:f16:databaze [online] 4. FEDORA FOUNDATION. Navody:f16:databaze [online]. Fedora Foundation, 2012, 2012-05-29 [cit. 2013-03-10]. Dostupné z: http://wiki.fedora.cz/doku.php?id=navody:f16:databaze 5. KOLEKTIV. WIKIMEDIA FOUNDATION. MySQL [online]. Wikimedia Foundation, 2012, 2012-07-12 [cit. 2013-03-10]. Dostupné z: http://cs.wikiversity.org/wiki/MySQL#Konfigurace 6. MySQL: Logo. ORACLE CORPORATION AND/OR ITS AFFILIATE. MySQL [online]. 2013 [cit. 2013-03-10]. Dostupné z: http://dev.mysql.com/ 7. Správa databází v MySQL - I. In: HAUZAR, David. Abclinuxu [online]. abclinuxu.cz, 2003, 2003-02-05 [cit. 2013-03-11]. Dostupné z: http://www.abclinuxu.cz/clanky/navody/sprava-databazi-v-mysql-i