Začínáme s MySQL 11 – import a export dat

V dnešní části tohoto dílu vám povím něco málo o možnostech vyexportování dat z MySQL.
Ve všech předcházejících dílech jsem vám ukazoval, jakým způsobem se pracuje s MySQL. Vysvětlil jsem vám základní věci spojené s návrhem a tvorbou databáze či vkládáním a opětovným výběrem záznamů. Po určité době, která závisí na četnosti používání MySQL, se dostanete do situace, kdy budete mít v databázích uloženo větší (či menší) množství dat, o které byste neradi přišli. Proto vaše kroky povedou k zálohování neboli k exportu dat.
Export dat

Začnu – pro někoho možná netradičně – exportováním dat. Jak jsem se již zmínil, nejčastějším důvodem exportu dat je jejich zálohování. Dalším velmi častým důvodem je následný převod dat do jiného databázového produktu (např. MS SQL, ORACLE... apod.). V MySQL existují v zásadě dva způsoby exportu. První možností je export pomocí SELECT INTO OUTFILE. Tento způsob je sice elegantní, ale daleko lepší výsledky dokážete s pomocí příkazu mysqldump. O tomto příkazu bude celý dnešní díl.

Příkaz mysqldump naleznete společně s SQL serverem nebo MySQL monitorem ve složce Bin pod nainstalovanou MySQL. Tento příkaz, který se ovládá přes příkazovou řádku, má podobně jako jeho oponent v podobě příkazu mysqlimport (nástroj pro import – viz druhá část tohoto dílu) bohaté možnosti. Příkaz se využívá jednoduše. Na příkazové řádce ve složce Bin napíšete klíčové slovo mysqldump, které bude následovat potřebné množství přepínačů. Pro lepší pochopení je dobré si uvědomit, že příkaz mysqldump při použití (myšleno použití za účelem exportu) vytvoří soubor v textové podobě, který bude obsahovat informace o exportovaných datech ve formě SQL příkazů, což zpětně umožní získat plnohodnotnou kopii vámi exportovaných dat. Tuto kopii můžete například použít jako zálohu v případě havárie serveru. Kompletní výčet možností příkazu mysqldump získáte výpisem všech přepínačů. Ten získáte následujícím způsobem: mysqldump --help

Po odeslání této řádky vám příkaz mysqldump vypíše seznam všech přepínačů, které lze použít v kombinaci s příkazem mysqldump. Přehled těch nejdůležitějších naleznete v následující tabulce:

Přepínač Popis
-add-drop-table Zajistí, aby v případě importu byla automaticky vymazána stejnojmenná tabulka, která se již případně nachází v databázi, kam chceme import provést. Tímto způsobem zajistíme, že před každý příkaz CREATE se umístí příkaz DROP TABLE IF EXISTS.
-add-locks Zaručí, že v případě importování nebudou moci uživatelé provádět změny v tabulce do té doby, dokud nebudou importovány všechny záznamy (INSERT).
-A Tento přepínač zaručí, že budou exportovány všechny databáze
-c Uvede názvy polí u všech příkazů INSERT. Tato volba je vhodná pouze tehdy, budete-li importovat data do jiného databázového produktu než MySQL.
-B Tento přepínač určuje, že budou exportovány pouze některé databáze. Názvy těchto databází následují za tímto přepínačem. POZOR! Mezi jednotlivými názvy dělejte mezery – tedy žádné čárky, středníky... apod.
-F Před začátkem exportování vymaže obsah logovacího souboru.
-f Zajistí, že mysqldump bude pokračovat i v tom případě, že se při exportu vyskytne chyba.
-h Pomocí tohoto přepínače nastavíme jméno hosta. Standardně je nastaven na localhost.
-l Velice užitečný přepínač, který zajistí uzamknutí všech tabulek (tj. nemožnost modifikace) před tím, než se zahájí samotný export. To má řadu výhod. Například nikdo nemůže vkládat, upravovat či mazat záznamy v tabulce, která je právě exportována.
-t V případě, že použijeme tento přepínač, pak nebude exportován SQL příkaz CREATE TABLE.
-d Zabrání exportu příkazů INSERT.
-opt Umožní zrychlit proces exportu.
-T umístění S pomocí tohoto příkazu rozdělíte exportované SQL příkazy do dvou souborů. První se jménem *.sql bude obsahovat příkazy, které vytvoří tabulky, a druhý bude pro změnu obsahovat příkazy na vložení dat.
-w “klauzule where“ Ekvivalent klauzule WHERE z příkazu SELECT.
(Poznámka: U přepínačů berte ohled na velikost písmen – to zde hraje důležitou roli!) Uvedl jsem výčet nejzákladnějších přepínačů. Jejich kompletní seznam naleznete jako vždy v manuálu u distribuce MySQL. Nyní se tedy prakticky podíváme na to, jakým způsobem vyexportovat data z MySQL do souboru. Pro začátek vyexportujte všechny databáze do souboru záloha.sql. Provedete tak pomocí následujícího řádku: mysqldump -u root -p -A >záloha.sql

Po aplikování tohoto příkazu se vám ve složce Bin vytvoří soubor, který bude replikou všech databází umístěných na SQL serveru. Jak mi ale nejspíš dáte za pravdu, není to nejlepší způsob exportu. Většinou totiž potřebujete exportovat pouze některou databázi. Export pouze některých databázi provedete následujícím způsobem: mysqldump -u root -p -B uzivatele mysql >záloha.sql

Předcházející forma vyexportuje databáze uzivatele a mysql. Znovu si prosím všimněte toho, že mezi názvy jednotlivých databází nejsou čárky, ale mezery. Toto se velmi často plete. Nyní vezmu předchozí příklad a povedu jej ještě o trochu dál. Dejme tomu, že potřebujete exportovat pouze některou tabulku. V tomto případě použijete následující postup: mysqldump -u root -p mysql user >záloha_tabulky.sql

Předcházející příklad vytvoří soubor záloha_tabulky.sql, který bude kompletní replikou tabulky user z databáze mysql. Tyto a jiné příklady pak jednoduše kombinujete dle potřeby s ostatními přepínači, které se vkládají do pozice, jako jsem vložil přepínač -B. Můžete tedy například použít mysqldump -u root -p -opt -B uzivatele mysql >záloha.sql

a mnohé další způsoby. Vždy záleží na tom, co přesně (a jakým způsobem) chcete vyexportovat resp. zazálohovat.

Diskuze (9) Další článek: Vláda bude rokovat o vyvolávací ceně UMTS

Témata článku: Software, Programování, Drop, Root, Následný převod, Potřebné množství, Import, Následující řádek, Export, MySQL, Export dat, Bohatý výčet, Mys, Častý důvod


Určitě si přečtěte

Windows 10 May 2020 Update je venku. Odstraňuje hesla a přináší Linux

Windows 10 May 2020 Update je venku. Odstraňuje hesla a přináší Linux

** Jarní aktualizace Desítek přináší dost novinek, jsou ale spíš menší ** Zlepšují se stabilita, rychlost i komfort ovládání ** Revoluce ve Windows 10 teprve přijde

Vladislav Kluska | 93

Jak uložit dokument z Wordu, aby vydržel celé roky? Je to těžší než cesta na Mars

Jak uložit dokument z Wordu, aby vydržel celé roky? Je to těžší než cesta na Mars

** Jak uložit soubory, aby vydržely vnoučatům? ** A co kdyby měly přečkat celá staletí? ** Teď se o to pokouší GitHub a je to oříšek i pro lingvisty

Jakub Čížek | 118

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 3

Windy je laboratoř na počasí: 12 tipů, jak se ve službě vyznat a využít ji naplno

Windy je laboratoř na počasí: 12 tipů, jak se ve službě vyznat a využít ji naplno

** Předpověď počasí Windy nabízí nepřebernou škálu funkcí ** Zorientovat se v nich nemusí být vždy snadné ** Proto přinášíme 12 užitečných tipů a triků

Karel Kilián | 10


Aktuální číslo časopisu Computer

Megatest: nejlepší notebooky do 20 000 Kč

Test 8 levných IP kamer

Jak vybrat bezdrátová sluchátka

Testujeme Android 11