Přednáška 4 MySQL
RDBMS MySQL je systém řízení relační databáze (RDBMS). Je to systém schopný ukládat obrovská množství dat a vracet je zpět pro naplňování potřeb rozličných aplikací. Jedná se o nejrozšířenější systém s otevřeným zdrojovým kódem.
Vlastnosti MySQL Relační databázový systém. Architektura klient/server. Systém sestává z databázového serveru a libovolného množství klientů (aplikačních programů), které komunikují se serverem. Kompatibilita s SQL. MySQL dodržuje současný standard (SQL:2008), avšak s některými omezeními. Vnořené dotazy. Podpora od verze 4.1 Pohledy. Podpora od verze 5.0 Uložené procedury. Podpora od verze 5.0 Triggery. Podpora v rozšířené podobě od verze 5.1 Full-textové vyhledávání. Unicode. MySQL podporuje od verze 4.1 všechny myslitelné znakové sady. Transkace. Omezení cizího klíče. Podporuje pouze u tabulek InnoDB. GIS funkce. MySQL podporuje od verze 4.1 ukládání dvojdimenzionálních geografických dat. Programovací jazyky. Existuje velká spousta programovacích platforem s API a knihoven určených pro vývoj aplikací s MySQL. Rychlost. Jeden z nejrychlejších RDBMS na trhu. A další.
Aktuální verze Vývojářský tým MySQL uvolnil poslední stab. verzi s označením: MySQL Server 8.0.12 Webový portál: www.mysql.com Zóna pro vývojáře: dev.mysql.com Správa a nastavení MySQL: Konfigurace nastavení, ladění, zálohování a údržba. Této problematice se budeme věnovat v průběhu semestru.
MariaDB Přesun k původnímu projektu GNU GPL - MySQL Mimo současného vlastníka ORACLE Součástí nových distribucí balíku XAMPP Lepší výkonnostní vlastnosti Stejný dialekt SQL, použití PHPMyAdmin Není 100% podpora v rámci klienta WORKBENCH Používá se více klient DBEdit2
Připojení k serveru MySQL Testování a vývoj V tomto případě běží MySQL server nejčastěji na stejném stroji a my se připojujeme pomocí lokálních klientských konzol nebo webových aplikací. Praxe V reálných podmínkách je pochopitelně žádoucí, aby server MySQL běžel na vyhrazeném stroji v síti a měl tak k dispozici co největší procento volných HW prostředků. Připojujeme se pomocí klientů (dvouvrstvá a i třívrstvá architektura).
Základní správa Server MySQL běží jako proces (daemon) označený mysqld. Můžeme vlastně říci, že MySQL = mysqld. MySQL může běžet na pracovní stanici rovněž jako služba. MySQL naslouchá na vyhrazeném portu 3306 (lze konfigurovat). Konfigurace MySQL Základní konfigurace se provádí v souboru my.cnf nebo my.ini. Tento soubor leží v adresáři mysql, ve složce bin. Při úpravách tohoto souboru je pro zavedení změn nutno restartovat server MySQL.
Uživatelské účty Primární účet root (plná oprávnění ke všem databázím domény) Vytváří a přiděluje oprávnění dalším účtům Účet root by neměl být dostupný v případě vzdálené správy MySQL serveru. Další účty Vážou se většinou pouze k jedné databázi. Ve výjimkách mohou přistupovat s omezenými právy i k jiným databázím, např. účet zaloha. Účtu lze nastavit konkrétní oprávnění pro SQL příkazy. Oprávnění pro SQL manipulaci s daty, strukturou a správou (např. vkládání dat, vytvoření tabulky, zamykání tabulek).
Základní možnosti konfigurace Nastavení datového adresáře (kam se budou ukládat data databází). Přístup k MySQL (Unix Socket, Pojmenované roury, TCP/IP). Nastavení defaultního adresáře mysql pro data. Velikost paměti cache a paměti bufferů. Další. Tato nastavení lze měnit i v příslušných programech. Např. MySQL WorkBench, který je komplexním nástrojem správy celého MySQL.
WORKBENCH Desktopová aplikace obsahující tyto nástroje: Správa více připojení – např. k lokálnímu mysql serveru či ke vzdálenému. Tvorba a modelování databází. Tvorba a provádění SQL příkazů. Administrace databáze. Migrace databáze a další. http://dev.mysql.com/downloads/workbench/
XAMPP Balík určený pro vývojáře obsahující následující programy: Webový server Apache RDBMS MySQL (včetně řádkového klienta mysql.exe) FTP Server FilleZilla Webová aplikace PHPMyAdmin pro správu MySQL. Další… Control Panel XAMPP.
Mysql.exe Mysql.exe je jednoduchý řádkový klient (příkazový řádek), pro správu databází MySQL. Najdete ho v adresáři instalace mysql. Můžeme se pomocí něho připojit jak k lokální, tak vzdálené databázi MySQL (v druhém případě je nutné provést příslušná opatření u vzdáleného serveru). Pro začínající uživatele není ideální. Používají jej zejména DBA. Mysql.exe
MySQL.exe Nastartujte db server pomocí Control panelu XAMPP: D:\users\student\xampp\controlpanel.exe Vyzkoušejme: Připojení k lokální databázi Volba databáze Zobrazení tabulek Dotaz SELECT nad zvolenou tabulkou.
PHPMyAdmin PHPMyAdmin je alternativou k řádkovému klientu mysql.exe. Aplikace napsaná v jazyce PHP a používá se v prostředí internetového prohlížeče. Pro její chod na lokální stanici je tedy potřeba fungující webový server. Má intuitivní a vcelku přívětivé uživatelské rozhraní. Oproti řádkovému klientu vyniká především grafickým rozhraním a možností doplňovat některé SQL příkazy automaticky. Používá jak k lokální, tak vzdálené správě databází, většinou v prostředí webových hostingů. Jedná se o free aplikaci. Aktuální dostupná verze PHPMyAdmin 4.7.4. s podporou češtiny.
PHPMyAdmin - funkce Správa celých databází Kompletní správa tabulek, atributů, indexů Správa pohledů Správa serveru Vykonávání SQL příkazů Správa uživatelů a jejich práv Správa Uložených procedur a Triggerů Import a Export (různé formáty), Zálohování Modelování jednoduchých ER diagramů PDF výstupy Další…
PHPMyAdmin - konfigurace PHPMyAdmin umožňuje spravovat uživatelské účty serveru MySQL. Zároveň využívá těchto účtů jako přihlašovacích do svého vlastního uživatelského rozhranní. Pečlivě si prostudujte sekci Nastavení účtu PHPMyAdmin v kapitole 6 studijní opory a na své lokální stanici proveďte příslušnou konfiguraci. http://localhost/phpmyadmin
Seznam vytvořených databází Hlavní menu
Samostatně Proveďte normalizaci konceptuálního návrhu tabulky. Vytvořte tabulky v aplikaci PHPMyAdmin ve vaší databázi na serveru KTE: 158.194.63.14
Zapamatujte si Vlastnosti MySQL Mysqld Mysql.exe – řádkový klient Workbench – grafický klient (dvouvrstvá architektura) PHPMyAdmin – konfigurace autentizace (config, http, cookie).