Ze šuplíku (6): Záloha databáze WordPressu

closeThis post was published 3 years 6 months 18 days ago which may make its actuality or expire date not be valid anymore. This site is not responsible for any misunderstanding.

Možností, jak zálohovat databázi ve WordPressu, existuje více, začneme u té zdánlivě „nejsložitější“ (naštěstí je ta složitost spíše relativní pojem, každému vyhovuje něco jiného), ale na druhou stranu zase z mého pohledu nejjistější, protože databázi zálohujete přímo v nástroji, který je pro tento postup určený. Proč dělat zálohu databáze je vám asi jasné. Ukládají se do ní důležitá data, prováděné změny a hlavně obsahy článků i stránek, různá nastavení a vzájemné propojení jednotlivých prvků. V okamžiku, kdy se stane nějaká nepříjemnost, v krajním případě třeba i napadení webu virem nebo hackerem, které dnes (i po mých zkušenostech) nelze vyloučit, máte nápravu hned při ruce.

Ze šuplíku vytahuji vybrané kapitoly nevydané knihy, které (snad) ještě mají co říci i dnes.
(Varování: Stav textu odpovídá roku 2010! Aktualizace by byla příliš náročná, omluva předem.)
Jen občas se něco málo pokusím oprášit…

Zálohujte databázi podle četnosti vaší publikační činnosti a prováděných úprav. Doporučuji udělat zálohu také před tím než se rozhodnete na webu udělat větší změny, př. nainstalovat nové pluginy (rozšíření).

Záloha databáze přes phpMyAdmin

Prvním způsobem, jak zálohovat databázi, je opět otevřít si ji na hostingu v nástroji zvaném phpMyAdmin.  Shrnu-li obvyklý postup: přihlásíte se ke svému hostingovému účtu, přejdete ke své doméně a do sekce databáze, vyberete žádanou databázi a najdete volbu pro její zobrazení v phpMyAdmin. Může to být např. prostřednictvím tlačítka Webadmin nebo DB WebAdmin atp. Otevře se vám obvykle samostatné, často plovoucí (či „vyskakovaní“) okno, v němž uvidíte náhled databáze. Vlevo bude sloupeček se soupisem tabulek, který bude v základní podobě odpovídat tabulkám popsaným v předchozím článku. Pokud je tabulek více než výše popsaných deset, nepochybně jste již v administraci aktivovali nějaký plugin či jinou doprovodnou službu. Provést můžete zálohu databáze celé, nebo třeba jen vybraných tabulek.

V pravém okně téměř dole uprostřed (případně, pokud jste již hlouběji v databázi, pak zpravidla v liště nahoře) najdete volbu Export. Objeví se tabulka Export databází, kde v okénku uvidíte název své databáze. Zkontrolujte, zda je pod okénkem vybraná volba formátu SQL (bývá však vybrána defaultně). Tuto volbu zvýrazněte a odrolujte až na konec stránky, kde máte možnost uložit stránky buď nekomprimované, nebo ve formátu ZIP („zazipováno“), případně GZ („zagzipováno“). Pro běžné účely je nejlepší zvolit prostřední volbu, tedy „zazipováno“. Vyberte tuto volbu (různé další úpravy a volby, které vidíte kolem, jsou spíše určeny pro speciální účely) a vpravo dole zmáčkněte tlačítko Proveď. Objeví se vám známé okno s žádostí o výběr místa uložení souboru a soubor se vám v podobě nazevserveru.zip uloží na vybrané místo. Záloha databáze byla provedena.

 

Obr. Volba formátu, v němž bude záloha uložena (výběr ZIP komprese)

Pokud byste si přáli zálohovat jen vybrané tabulky, pak po vstupu do rozhraní  phpMyAdmina, nejprve klikněte vlevo nahoře nad sloupečkem s jednotlivými tabulkami na název vaší databáze (v závorce vedle ní je číslo uvádějící počet tabulek). Rozbalí se vám tak seznam tabulek i v pravém okně. Následně klikněte nahoře v menu na volbu Export. Otevře se podobná volba jako v případě uložení celé databáze, s tím rozdílem, že v okénku nahoře uprostřed nyní uvidíte názvy jednotlivých tabulek. Ty můžete vybrat postupně kurzorem za současného držení klávesy Ctrl, jak to znáte jistě z jiných programů.

Až vyberete kýžené tabulky, opět odrolujte dolů, vyberte formát komprese či ponechte bez komprese (v tom případě ale zkontrolujte, zda je zaškrtnuto políčko Do souboru, jinak se vám obsah vybraných tabulek vypíše přímo do okna phpMyAdmina, a tudíž nenabídne možnost uložení na disk). Zálohu dokončíte kliknutím na tlačítko Proveď, když zvolíte, kam soubor uložit. Ve výsledném souboru nazevdatabaze.zip, tak budete mít uloženy pouze ty tabulky, nebo třeba jen jednu jedinou, které jste vybrali.

Import databáze, tj. obnovení databáze ze zálohy

Jistě jste si vedle volby Export při zálohování databáze všimli i tlačítka Import. Toto tlačítko využijete v okamžiku, kdy naopak potřebujete zálohu nahrát zpět na sever. Importování plné databáze se nejlépe provádí do čisté nové nebo vymazané databáze, proto pokud máte plnou zálohu a zbyly vám v databázi poškozené či problematické tabulky, kvůli kterým databázi obnovujete, je jedinou rozumnou možností tyto tabulky databáze vymazat.

 Obr. Vymazání tabulek v databázi před importem

V phpMyAdminu je nejlépe kliknout v levém sloupečku nahoře na výše již zmíněný název databáze (v závorce za ní s počtem tabulek). Tato volba rozbalí do pravého okna jednotlivé tabulky, kde máte možnost zaškrtnout okénka těch tabulek, které chcete odstranit. V případě plné náhrady tedy zaškrtněte všechny, nebo dole vyberte volbu Zaškrtnout vše.  Z rozbalovacího menu pak zvolte Odstranit a volbu aktivujte vpravo dole tlačítkem Potvrď. Ještě budete dotázáni, zda si skutečně přejete smazat vybrané tabulky databáze, a po potvrzení i této volby máte před sebou zcela čistou databázi  (případně s tabulkami, které jste v ní ponechali).

V horním menu nyní klikněte na volbu Import a objeví se výběrové okno pro hledání cesty k uložené záloze databáze. Vyberte umístění, zkontrolujete, že je zaškrtnuta volba SQL, potvrďte výběr souboru a databáze se opět nahraje na server. Pokud je to tentýž server, ze kterého záloha pochází, nemělo by dojít k žádným zásadním problémům. Někdy však bývá problém s paměťovým limitem pro ukládání a přenos dat, objeví se zpravidla již při Exportu, potom tento problém konzultujte s poskytovatelem hostingu.

 

Pokročilí Při přenosu webových stránek na jiný server, případně úplně na jinou doménu, je jedním z možných (a údajně nejrychlejších a nejméně problémových) postupů zazálohovat původní databázi bez tabulky wp_options. Na novém serveru pak klasickým způsobem nejprve nainstalujete novou instalaci WordPressu (vytvoříte stejnojmennou novou databázi se stejnými přístupovými údaji). Dále přehrajete přes FTP tuto instalaci zálohou svých původních souborů z předešlého serveru. Poté v nově vytvořené databázi smažete všechny tabulky, kromě zmíněné wp_options a naimportujete sem zálohu databáze z původního serveru. Důvod těchto kroků je prostý, v tabulce wp_options jsou uložena nastavení databáze a nové údaje o doméně atp., které při převodech dělají nejvíce neplechy.Pokud tuto cestu nezvolíte, pak při změně názvu domény jděte přes phpMyAdmin přímo do tabulky wp_options, zvolte: Procházet a následně v tabulkovém výpisu upravte (k úpravám se dostanete za pomoci tužtičky) dvě základní položky: siteurl, kde přepište starou adresu za stávající. A poté ještě (obvykle až na druhé stránce výpisu, kam je nutné se překliknout), najděte položku home, v níž je opět nutno přepsat starou adresu adresou novou. Je sice možné, že zde bude třeba ještě dalších úprav, ale tyto dvě bývají pro chod webu na nové adrese stěžejní.

 

Záloha databáze za pomocí pluginu Database Backup

Pokud se vám zdá být výše popsaný postup příliš složitý, můžete zkusit použít velmi dobrý plugin, vytvořený přímo pro WordPress, jmenuje se Database Backup a najdete jej ke stažení na http://wordpress.org/extend/plugins/wp-db-backup/.

Tento plugin umožňuje provést zálohu databáze přímo v administračním prostředí WordPressu a nabízí další možnost, jak zálohu databáze uskutečnit.  Stáhněte uvedený soubor s pluginem, rozbalte, nahrajte přes FTP do složky plugins. Přejděte do administrace, kde v sekci pluginy tento plugin aktivujte. Před provedením záloh zkontrolujte, zda máte na FTP pro složku wp-content udělena CHMOD práva 777, pokud ne, pak jí je nastavte.

V levém menu administrace rozklikněte volbu nástroje, kde se vám objeví volba Backup. Pokud se nahoře objeví varování “Your backup directory is NOT writable!“, znamená to, že jste dosud složce wp-content neudělili zmíněná práva 777. Napravte to a znovu se vraťte k volbě Backup. Nyní máte možnost v jednotlivých krocích vybírat postupně různé tabulky databáze pro jejich zálohu. Pokud chcete všechny, zaškrtejte postupně všechny volby ve dvou vrchních menu. Třetí část vám nabízí možnost, kam bude záloha stažena, zda přímo na server, do nově vytvořeného adresáře (příklad:) /var/www/vhosts/vasweb.cz/httpdocs/wp-content/backup-bxxx, nebo jestli bude stažena do vašeho počítače, či poslána na e-mail (přednastaven je e-mail, který jste přidělili při instalaci WordPressu administrátorovi). Váš výběr nakonec zrealizujte tlačítkem Backupnow!  (Tj. Zálohovat nyní!)

Další okénka níže vám mohou být ku prospěchu, pokud si přejete nastavit pravidelnou automatickou zálohu. Opět vyberete tabulky, které chcete zálohovat, a vyplníte nebo necháte přednastavený e-mail, kam bude záloha pravidelně zasílána. Zálohovat můžete tímto způsobem buď nikdy (defaultní volba), jednou za hodinu, jednou nebo dvakrát denně či jednou za týden. Pokud nepíšete velké množství příspěvků denně,  stačí zvolit zálohu jednou za týden (Once Weekly). A záloha databáze se bude provádět pravidelně za vás a soubor vám vždy přijde e-mailem, což je jistě šikovná volba.

obnově databáze však budete v tomto případě potřebovat opět použít phpMyAdmin. Vše zálohovat však zásluhou tohoto pluginu můžete nyní směle a celkem komfortně a až v případě problémů se se zálohami v ruce (na disku či v e-mailu) případně obrátíte na někoho zkušenějšího a nebo přece jenom vyzkoušíte výše popsaný postup týkající se importu databáze.

Záloha dat ve formátu XML

Třetí možností, jak zazálohovat aspoň stěžejní část dat, tedy především vámi přidaný textový obsah, je využití nástroje, který nabízí WordPress sám o sobě, a to Export a Import dat ve formátu XML, přístupný v administraci. Dlužno dodat, že zálohu databáze  však v plném rozsahu nenahradí, data se uloží ve zmíněném formátu XML, jedná se tudíž o jakousi rozšířenou podobu RSS výstupu.  I to se však může někdy hodit, proto i na tento postup zde upozorním. V administraci přejděte v levém menu do sekce Nástroje a vyberte volbu Export. V nastavení Exportu, které se otevře, můžete vybrat které autory (defaultně všechny), přesněji příspěvky kterých autorů chcete zazálohovat. Klikněte na Stáhnout soubor, vyberte, kam se má soubor uložit, a záloha v podobě xml souboru je hotová.

Tento soubor pak můžete kdykoli jednoduše zase importovat. Volba Import je opět v menu Nástroje. V rámci importu přejděte do volby WordPress, která je nejníže na stránce, a zde zvolte nabídku hledání souboru. Vyberte, odkud který soubor chcete importovat, potvrďte tlačítkem Nahrát a importovat a už jen počkejte, až se data nahrají zpět (nějakou chvíli to – podle objemu dat – trvá).

 

Tip Tento tip bude trochu netradiční, spíše taková zkušenost, co dělat, když se databázi nechce při importu zpět na server. Možná se tam snažíte nacpat příliš dat a nestačí nastavené limity, možná máte chybně nastavené a nekompatibilní kódování. Důvodů může být víc. Pokud zjistíte (respektive zkuste to zjistit), že zlobí třeba jen část tabulek, udělejte si zálohu bez těchto problematických tabulek, nahrajte ji na server a z těch problematických tabulek zkuste postupně překopírovat jednotlivé SQL příkazy. Tabulky některých pluginů navíc často můžete oželet i úplně. Někdy se tak dá zachránit i zdánlivě nezachranitelné. Ale chce to čas, anebo nechat to raději na SQL odborníkovi.


Přečtěte si také:



Kategorie : Šuplík, WordPress
Štítky:, , , ,

Okomentovat

Pro vkládání komentářů musíte být přihlášen/a.