Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
mysql_mariadb [2015/02/27 16:23] – vytvořeno Hever | mysql_mariadb [2015/05/25 13:05] (aktuální) – Hever | ||
---|---|---|---|
Řádek 2: | Řádek 2: | ||
MySQL je databázový systém. [[mariadb|MariaDB]] je fork MySQL, v časech MySQL 5.1 až 5.5 byla jeho binární kopií (tzn. vnitřnosti byly jiné, ale jinak se zdálo, že je to MySQL ve všech ohledech). | MySQL je databázový systém. [[mariadb|MariaDB]] je fork MySQL, v časech MySQL 5.1 až 5.5 byla jeho binární kopií (tzn. vnitřnosti byly jiné, ale jinak se zdálo, že je to MySQL ve všech ohledech). | ||
- | ===== MySQL 5.5 ===== | + | ===== Verze ===== |
- | ===== MySQL 5.6 ===== | + | ==== MySQL 5.5 ==== |
- | ==== Problémy při aktualizaci ==== | ||
- | === Nevytvávření funkcí z dumpů | + | ==== MySQL 5.6 ==== |
+ | |||
+ | === Nové vlastnosti === | ||
+ | * **Geometrické / Spatial funkce** - Do MySQL 5.5 to fungovalo pitomě, funkce Contains udělala polygonu udělalo obdelník - nepřesné a defacto nepoužitelné. MySQL 5.6 to implementuje už správně. V MariaDB to fungovalo správě už od verze 5.3.3 | ||
+ | |||
+ | * **Mikrosekundy** - umí pracovat i s jemnějším rozlišením času než na sekundy, pokud se to takto v typu specifikuje. | ||
+ | |||
+ | === Problémy při aktualizaci === | ||
+ | |||
+ | == Nevytvávření funkcí z dumpů == | ||
je to problém lešího zabezpečení v novější verzi MySQL. Funkce musí být uvedené, že jsou DETERMINISTIC (nebo nějakou obdobnou deklaraci) jinak MySQL vyhodí chybu a funkci nevytvoří. Vyřešit se to dá následujícím příkazem nebo předefinováním funkcí. | je to problém lešího zabezpečení v novější verzi MySQL. Funkce musí být uvedené, že jsou DETERMINISTIC (nebo nějakou obdobnou deklaraci) jinak MySQL vyhodí chybu a funkci nevytvoří. Vyřešit se to dá následujícím příkazem nebo předefinováním funkcí. | ||
- | < | + | < |
+ | |||
+ | Lepší bude možná zvážit, **vypnout binární logování úplně** (viz další kapitola). | ||
+ | |||
+ | == Binární log == | ||
+ | Po aktualizaci db je v základní konfiguraci změna v tom, že zapne **binární log**. Jak název napovídá, mysql vytváří soubory obsahující (v binární podobě) všechny prováděné změny. Soubory jsou předvídatelně umístěné ''/ | ||
+ | |||
+ | Binární log se užívá k **zálohování** (občas si provedu mysqldump a když vím v jakém stavu se dump provedl, můžu nejnovější stav " | ||
+ | |||
+ | Z výše uvedených je pak namístě, aby MySQL se funkce (jejichž volání je v binárním logu) nechovaly nedeterministicky. Proto při zapnutém binárním logu si databáze umí stěžovat, že procedury/ | ||
+ | |||
+ | Binární logování se zapíná v my.cnf. Bohužel ji nelze vypnout v debianím duchu, je nutné editovat my.cnf a zakomentovat řádky '' | ||
+ | |||
+ | ===== Nástroje ===== | ||
+ | ==== MySQL Tuner ==== | ||
+ | < | ||
+ | apt-get install mysqltuner | ||
+ | mysqltuner | ||
+ | </ |