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 24439×
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ří:
- 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.
- 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.
- 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í.
- 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
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
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ář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|