LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> MySQL (55) - zálohování MySQL z pohledu správce

Správce databázového serveru má větší možnosti, ale i větší zodpovědnost. Jak se tedy postavit k zálohování dat?

20.1.2006 06:00 | Petr Zajíc | Články autora | přečteno 28311×

Jak asi tušíte, dnes se zaměříme na zálohování MySQL databází z pohledu správce systému. Budeme tedy uvažovat o situacích, kdy máme daný server na starosti a můžeme, když je to potřeba, pracovat jako superuživatel. Jak uvidíme, i zde je více možností zálohování.

Příkaz BACKUP TABLE

Superuživatel samozřejmě může využít všechny možnosti, o nichž jsme hovořili v předchozích dvou dílech seriálu. Rovněž může použít některé další nástroje. Patří mezi ně příkaz BACKUP TABLE, který slouží k zálohování jediné tabulky. Jeho syntaxe je následující:

BACKUP TABLE [názevtabulky] TO '/cesta/k/zaloze'

A upřímně řečeno, používám jej dost nerad. Tento příkaz má následující výhody:

  • Umožňuje elegantně pořídit kopii jediné tabulky
  • Je principielně dosti rychlý
  • Dá se velmi snadno zapamatovat

Ale rovněž následující nezanedbatelné nevýhody:

  • Při zápisu do cílového adresáře jste omezeni právy systému (tato nevýhoda pochopitelně není pro superuživatele podstatná)
  • Funguje to jen s tabulkami typu MyISAM.
  • Příkaz je v dokumentaci označen jako zastaralý.
  • Neumožňuje přepsat existující data
  • A konečně - situace, v níž byste chtěli zálohovat jedinou tabulku je z hlediska správy serveru poměrně vzácná.

Jak to funguje? Jednoduše. Na serveru jsou pro každou tabulku typu MyISAM vyhrazeny až tři soubory:

Soubor
Obsahuje
*.frm
Definice tabulky MyISAM. Jsou zde uloženy typy a velikosti jednotlivých sloupců tabulky.
*.MYD
Samotná data pro tabulku.
*.MYI
Indexy pro danou tabulku

Pozn.: Seznam není vyčerpávající. V MySQL 5 může napříkad existovat soubor *.TRG s definicí triggerů pro danou tabulku, ale to teď není podstatné.

Když přijde příkaz pro zálohování pomocí BACKUP TABLE, databáze se postará aby do dané tabulky nemohl nikdo zapisovat a pak prostě vykopíruje soubory frm a MYD do cílového adresáře. Indexy se nekopírují, neboť je lze z obnovených dat poměrně snadno zrekonstruovat. Jak vidíme, není tedy za příkazem BACKUP TABLE žádná velká alchymie.

Příkaz mysqldump

Tento užitečný příkaz vytvoří zálohu dat tak, že sestaví SQL příkazy, které povedou k vytvoření dané tabuky nebo tabulek. Příkad:

mysqldump -u root test lidi > ~/lidi.sql

Povede k tomu, že bude vytvořen v domovském adresáři soubor lidi.sql se zhruba následujícím obsahem:

-- MySQL dump 10.10
--
-- Host: localhost    Database: test
-- ------------------------------------------------------

<zkráceno>

--
-- Table structure for table `lidi`
--

DROP TABLE IF EXISTS `lidi`;
CREATE TABLE `lidi` (
  `jmeno` varchar(20) collate utf8_czech_ci default NULL,
  `narozendne` date default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

--
-- Dumping data for table `lidi`
--

LOCK TABLES `lidi` WRITE;
INSERT INTO `lidi` VALUES ('Jarda','1970-01-01'),('Jana','1975-12-31'),('Petr','1980-10-10');
<zkráceno>
UNLOCK TABLES;

Je tedy vytvořena jak definice tabulky, tak i data. Příkaz mysqldump má poměrně hodně přepínačů, s nimiž bude dobré se seznámit, pokud to myslíte s tímto příkazem vážně a dá se použít i na jiné typy tabulek než MyISAM. Osobně ho mám docela rád, protože produkuje výstup, který je člověku čitelný, textový a který se dá rozumně zkomprimovat. Lze se také zmínit o tom, že vygenerované příkazy se mohou náramně hodit při exportu struktury a dat na jiný typ DBMS.

Skript mysqlhotcopy

Ten mám rád ze všech nejméně. Nejdřív ale, co to dělá. Funguje v podstatě tak jako BACKUP TABLE s tím rozdílem, že může zálohovat více tabulek nebo i více databází. Rovněž se v dokumentaci praví že je rychlejší než BACKUP TABLE a není označen jako zastaralý.

Teď něco nevýhod:

  • Skript je v PERLu, což znamená, že musíte být schopni spouštět perlové skripty, aby to fungovalo.
  • Skript vyžaduje závislosti: Data::Dumper a některé další. Většinou je budete v systému mít.
  • Není obecně přítomen ve Windows distribucích MySQL

Neříkám, že mysqlhotcopy nemáte používat nebo že to nebude fungovat, ale raději bych zálohování svěřil odzkoušenému binárnímu programu než skriptu (je to věc názoru, nekamenujte mě v diskuzi).

Závěr

Zdaleka jsme nevyčerpali všechny možnosti zálohování. V praxi bude zvolená strategie nejspíš nějakou kombinací uvedených způsobů. Přitom, když se budete rozhodovat co a jak zálohovat, Vám mohou pomoci následující otázky:

  • Co by se stalo, kdybych právě o tato data přišel?
  • Jak často by se měla právě tato databáze či tabulka zálohovat?
  • Kolik (historicky) záloh těchto dat budu potřebovat?
  • Jaký způsob zálohování bude nejrychlejší/nejvýkonnější/nejbezpečnější

Jak vidíte, je toho dost. Cílem bylo seznámit Vás s nejběžnějšími technikami zálohování s tím, že svoji cestu si musí najít každý sám.

Verze pro tisk

pridej.cz

 

DISKUZE

binary log 22.1.2006 20:44 Jakub Velkoborský




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

16.7.2018 1:05 /František Kučera

Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.


Přidat komentář

18.6.2018 0:43 /František Kučera
Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.
Přidat komentář

23.5.2018 20:55 /Ondřej Čečák
Od pátku 25.5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spostu zajímavých přednášek, workshopů a také na Release Party nového openSUSE leap 15.0. V na stejném místě proběhne v sobotu 26.5. i seminář o bezpečnosti CryptoFest.
Přidat komentář

20.5.2018 17:45 /Redakce Linuxsoft.cz
Ve čtvrtek 31. května 2018 připravuje webový magazín BusinessIT ve spolupráci s Best Online Média s.r.o. pátý ročník odborné konference Firemní informační systémy 2018. Akce proběhne v kongresovém centru Vavruška (palác Charitas), Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 15 hod. odpoledne. Konference je zaměřena na efektivní využití firemních informačních systémů a na to, jak plně využít jejich potenciál. Podrobnější informace na webových stránkách konfrence.
Přidat komentář

14.5.2018 7:28 /František Kučera
Květnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 17. 5. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: Audio – zvuk v GNU/Linuxu.
Přidat komentář

7.5.2018 16:20 /František Kučera
Na stránkách spolku OpenAlt vyšla fotoreportáž Pražské srazy 2017 dokumentující srazy za uplynulý rok. Květnový pražský sraz na téma audio se bude konat 17. 5. 2018 (místo a čas ještě upřesníme).
Přidat komentář

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze