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

> MySQL (54) - zálohování MySQL z webu

Ať chceme nebo ne, většinou se MySQL používá ve spojení s weby. Jak zálohovat data v tomto případě?

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

Komerční sdělení: Pořádáme Kurzy MySQL

Je na čase zaměřit se na zálohovací potřeby těch uživatelů, kteří pracují s MySQL na webech. Ne snad, že by to byla nějaká zvláštní skupina databázových guru, ale kombinace webu a MySQL je pro mnoho prezentací prostě typická. Takže, jak mohou zálohovat data z MySQL majitelé prezentací či internetových obchodů? Jak vidíme, je jejich prostředí pro běh MySQL specifické. Pojďme se tedy podívat, s čím lze počítat.

Prostředí

Typické hostingové prostředí, v němž je provozována MySQL na webu, vypadá nějak takto:

  • Webový server běhá na Linuxu
  • K dispozici je nějaký skriptovací jazyk, snad PHP
  • MySQL běhá na stejném serveru jako web, nebo na serveru v místní LAN
  • Uživatel prezentace má k dispozici typicky jednu databázi MySQL
  • Uživatel nesmí do databáze přistupovat vzdáleně, t.j. z cizí IP adresy
  • Uživatel nemá přístup k systému (nemá systémový účet)
  • Uživatel nemůže provádět příkaz SELECT ... INTO OUTFILE
  • Uživatel však má k dispozici jeden nebo více adresářů, do nichž může zapisovat; často i mimo kořenový adresář svojí prezentace

Dále je typické, že na stejném databázovém serveru jsou umístěny databáze mnoha jiných uživatelů a že webový server obhospodařovává požadavky několika webů. Skutečností tedy je, že v takovém prostředí spíše více věcí nesmíte než můžete. Přesto i tady máte určité možnosti, jak smysluplně zálohovat.

PhpMyAdmin

O tomto webovém nástroji na správu databáze MySQL máme na našem webu seriál od Michala Čihaře. V naprosté většině případů se Vám podaří tento nástroj nainstalovat a nakonfigurovat bez komplikací, protože nemá žádné zvláštní požadavky na systém (požaduje vlastně jen webový server, PHP a databázi MySQL). Je rovněž možné, že jej budete mít na serveru již k dispozici přímo od hostingové společnosti.

Příjemnou vlastností PhpMyAdminu je to, že umí exportovat data z MySQL do několika nejběžnějších formátů - a Vy tak můžete databázi zálohovat. Mezi formáty, do nichž můžete data zazálohovat, a které jsou z tohoto hlediska zajímavé patří:

  1. Textové soubory oddělené čárkou nebo středníkem. Data jsou pak v souboru uspořádána podobně, jako kdybyste je exportovali pomocí SELECT INTO OUTFILE.
  2. Příkazy SQL. Vznikne sice poněkud větší soubor, ale ten bude obsahovat přímo sadu příkazů INSERT s tím, že spuštěním tohoto souboru proti cílové databázi dojde k obnově dat.
  3. Soubory Microsoft Excel. Pro zarytého linuxáka je třeba dodat, že soubor půjde otevřít pomocí OpenOffice.org Calcu, pro všechny pak to, že dávám přednost spíše textovým souborům pro zálohování.
  4. Soubory Microsoft Word. Z hlediska zálohování se moc nehodí, neb případná obnova dat z takového souboru by nebyla příliš triviální.

PHPMyAdmin má sice skvělé možnosti, ale někdy jej buď nemůžeme použít, nebo potřebujeme něco vlastního - třeba zálohovat jen kus tabulky. V tom případě nám nezbyde než si zálohovací proceduru napsat sami. Pokud se do toho budete chtít pustit, možná zjistíte, že bude užitečné prostudovat nějaký kus hotového kódu. U PHPMyAdmina si tak například můžete prohlédnout skript export.php, a rovněž všechny skripty ve složce libraries/export. Možná zjistíte, že se tam najde něco užitečného i pro Vás.

Vlastní skript

Úmyslně nechci zabíhat do tajů skriptovacích jazyků, takže jen stručně. Pokud máte k dispozici adresář s právy zápisu a nějaký ten skriptovací jazyk, můžete si zálohování napsat sami. Struktura skriptu přitom bude velmi jednoduchá, zejména pokud budete chtít zálohovat do textových souborů. Pro většinu jazyků (PHP, Python, Perl) bude postup dosti podobný. Může to (psáno v pseudojazyce) vypadat nějak takto:

otevřít spojení na databázi
vytvořit textový soubor
vybrat data z tabulky
dokud jsou k dispozici další data {
  načíst řádek dat
  procházet sloupce a {
    data ze sloupce zkonvertovat na text
    zkonvertovaná data uložit do souboru
    uložit do souboru oddělovač polí  
  }
  uložit do souboru znak konce řádku
}
zavřít vytvořený soubor
zavřít spojení na databázi
nahlásit úspěch

Pozn.: Jak se připojit k MySQL z několika nejběžnějších skriptovacích a programovacích jazyků si budeme v tomto seriálu ještě ukazovat.

Můžete při sestavování něčeho podobného nějak narazit? Vlastně ani ne, pokud si dáte pozor na následující věci:

  • Cokoliv co není text (čísla, data, logické hodnoty) by se mělo zkonvertovat na text. Stanovte si nebo převezměte nějaká pravidla (například pro konverzi kalendářních dat, logických hodnot nebo desetinných čísel).
  • Ujistěte se, že skript má dost času doběhnout do konce
  • Ujistěte se, že nepřepisujete stále týž soubor se záložními daty (anebo že to děláte, ale nevadí vám to)
  • Pokud chcete uchovávat více záloh, nějak si je rozlište (asi bych volil datum jako součást názvu souboru)
  • Můžete si pohrát z komprimací záloh; textové soubory půjdou nejspíš zkomrimovat s dost dobrým poměrem.

Plánování záloh

Nemusí Vám vždy vyhovovat ruční spouštění záloh. Možná budete požadovat, aby byl Vámi napsaný skript prováděn v zadaném čase automaticky. K tomu slouží nástroj cron obsažený snad v každém UNIX-Like systému. Cron zřejmě nebudete moci na webhostingu nastavovat sami, ale možná budete moci požádat správce serveru, aby Vám nějaký ten skript přidal do existujících automaticky spouštěných úloh, snad jednou denně.

Pokud Vám však ani to nestačí, je třeba vědět, že existuje ještě pružnější cesta. Když se nad tím zamyslíte, je zálohovací skript sekvencí příkazů jako každý jiný. To znamená, že když máte skript http://www.nejakyserver.cz/zalohujdata.php, můžete si jej spustit z libovolného prohlížeče na světě a můžete tak svoje cenná data zazálohovat. Pokud například vlastníte v libovolném systému, do něhož máte přístup nějaký textový prohlížeč, můžete napsat příkaz ve stylu:

links http://www.nejakyserver.cz/zalohujdata.php

A skript se na vzdáleném systému provede. "Juknutí" na server můžete naplánovat třeba pomocí nějakého cronu na systému, k němuž máte přístup.

Příště si ukážeme, jak na zálohování dat v situaci, kdy máte plný přístup na server, na němž MySQL běží.

Verze pro tisk

pridej.cz

 

DISKUZE

Add záloha kusu tabulky s phpMyAdminem 13.1.2006 17:30 Libor Tvrdík
L Re: Add záloha kusu tabulky s phpMyAdminem 15.1.2006 22:28 Michal Čihař
  L Re: Add záloha kusu tabulky s phpMyAdminem 16.1.2006 07:57 Petr Zajíc
    L Re: Add záloha kusu tabulky s phpMyAdminem 16.1.2006 09:52 Ondřej Čečák
      |- Re: Add záloha kusu tabulky s phpMyAdminem 16.1.2006 11:37 Petr Zajíc
      L Re: Add záloha kusu tabulky s phpMyAdminem 23.1.2006 10:50 Michal Čihař
Exportovat část tabulky 15.1.2006 22:28 Michal Čihař




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

15.5.2017 23:50 /František Kučera

Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).


Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

15.4.2017 15:20 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě IoT a radiokomunikace? Přijď na sraz spolku OpenAlt, který se bude konat ve středu 19. dubna od 18:30 v Šenkovně (Sokolská 60, Praha 2).
Přidat komentář

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

27.2.2017 22:12 /František Kučera
Pozvánka na 137. sraz OpenAlt – Praha: Tentokrát jsme si pro vás připravili neobvyklou akci. Ve středu 1.3. v 17:30 nás přivítá sdružení CZ.NIC ve svých prostorách v Milešovské ulici číslo 5 na Praze 3, kde si pro nás připravili krátkou prezentaci jejich činnosti. Následně navštívíme jejich datacentrum pod Žižkovskou věží. Provedou nás prostory, které jsou běžnému smrtelníkovi nedostupné!
Po ukončení prohlídky se všchni odebereme do hostince U vodoucha, Jagelonská 21, Praha 3 pochutnat si na některém z vybraných piv či dát si něco na zub. Rezervaci máme od 19:30, heslo je OpenAlt.
Ale pozor! Do prostor datového centra máme omezený přístup, dostane se tam pouze 10 lidí! Takže kdo přijde dříve, ten má přednost, a občanky s sebou! Kdo nebude chtít na prohlídku datového centra, může se pomalu přesunout do hostince U vodoucha a u nepřeberné nabídky piv počkat na ostatní.
Přidat komentář

18.1.2017 0:49 /František Kučera
Členové a příznivci spolku OpenAlt se pravidelně schází v Praze a Brně. Fotky z pražských srazů za uplynulý rok si můžete prohlédnout na stránkách spolku. Příští sraz se koná už 19. ledna – tentokrát je tématem ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. Také budete mít příležitost si prohlédnout pražský hackerspace Brmlab.
Přidat komentář

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

> Poslední diskuze

15.6.2017 9:34 / Ondřej Havlas
php,

10.6.2017 10:39 / Temple
sell home for cash

11.5.2017 23:32 / lelo
Re: Problém se správcem balíčků

11.5.2017 5:45 / davd mašek
Re: Problém se správcem balíčků

10.5.2017 22:54 / lelo
Re: Problém se správcem balíčků

Více ...

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