IN tento dokument podrobne popisuje princípy a postupy, ktoré sa musia dodržiavať pri implementácii stratégie zálohovania MySQL na podnikovej úrovni pri používaní Agenta pre MySQL.
Táto používateľská príručka obsahuje popis rôzne metódy a stratégie na zálohovanie a obnovu databáz MySQL pomocou agenta Enterprise edition. Tieto metódy tiež umožňujú prispôsobiť a vyladiť softvér tak, aby sa zlepšil výkon, efektívnosť, rýchlosť a škálovateľnosť rôznych prístupov k zálohovaniu databáz MySQL a súvisiacich údajov.
Automatické zálohovanie MySQL je navrhnuté tak, aby zjednodušilo a urýchlilo zálohovanie databázy MySQL a obnovu MySQL. softvér pre zálohovanie databázy údaje MySQL a jeho obnova je navrhnutá tak, že správca nemusí vedieť, ako fungujú vstavané zálohovacie nástroje MySQL, ani nemusí byť schopný vytvárať zložité skripty. Automatická záloha MySQL pomocou Bacula sa vytvorí automaticky zálohovanie dôležitá informácia, ako je konfigurácia alebo užívateľské definície. Zálohovanie databázy MySQL tiež podporuje dve metódy: výpis a zálohovanie binárnych protokolov.
Zálohovanie MySQL je k dispozícii pre 32 a 64-bitové platformy Linux (platformy Debian, Ubuntu, CentOS atď.) a podporuje MySQL 4.0.x, 4.1.x, 5.0.x, 5.5.x, 5.6.x.
Ako zálohovať MySQL: výpis alebo binárny protokol?
Nižšie uvedená tabuľka vám pomôže vybrať si jednu z metód zálohovania databázy MySQL. Ak chcete vybrať spôsob zálohovania databázy MySQL, musíte sa rozhodnúť, či chcete mať možnosť obnoviť MySQL do konkrétneho kontrolného bodu alebo filtrovať objekty počas zálohovania alebo obnovy MySQL. Je tiež možné kombinovať obe metódy zálohovania MySQL pre rovnaký server.
Funkcie automatického zálohovania MySQL | Dump súbor | binárny denník |
Schopnosť obnoviť jeden MySQL objekt (tabuľka, schéma...) | Áno | Nie |
Rýchlosť zálohovania MySQL | pomaly | Rýchlo |
Rýchlosť obnovy MySQL | Tak pomaly | Rýchlo |
Veľkosť zálohy databázy MySQL | Malý | Veľký |
Schopnosť obnoviť MySQL na kontrolný bod | Áno | Áno |
Podpora prírastkového/rozdielového zálohovania MySQL | Áno | Áno |
Online zálohovanie MySQL | Áno | Áno |
Dôslednosť | Áno | Áno |
Obnovenie MySQL na predchádzajúcu hlavnú verziu | Áno | Nie |
Schopnosť obnoviť MySQL na novú hlavnú verziu | Áno | Nie |
Vyhodnotenie informácií pri zálohovaní tabuľky MySQL
Tím odhadnúť umožňuje zobraziť všetky informácie nájdené agentom MySQL. V prípade režimu výpisu nemôže náš softvér odhadnúť veľkosť súboru výpisu pre databázu. Namiesto toho zobrazí veľkosť databázy.
Informácie o zálohovaní MySQL v režime výpisu
Agent MySQL vygeneruje nasledujúce súbory v adresári Bacula pre server, ktorý má jednu „testovaciu“ databázu.
Súbor | Typ | Vysvetlenie |
global-grants.sql | globálne | Zoznam používateľov, ich hesiel a špeciálnych funkcií |
settings.txt | globálne | Aktuálne premenné pre server mysql |
my.cnf | globálne | Konfigurácia MySQL |
createdb.sql | DB | Skript na vytvorenie databázy |
schema.sql | DB | Skript na vytvorenie schémy databázy |
data.sql | DB | Databázové údaje vo formáte výpisu |
grants.sql | DB | Zoznam všetkých používateľov priradených k databáze |
Tabuľka 2. Obsah zálohy MySQL v režime výpisu
Obnova MySQL
Bacula vám umožňuje obnoviť zálohu MySQL v niekoľkých režimoch obnovy:
- Obnova MySQL zo súboru výpisu alebo binárnych protokolov
- Obnovenie používateľov a rolí
- Obnova jednej databázy MySQL
- Obnovenie MySQL do kontrolného bodu
Na obnovenie zálohy MySQL v režime binárneho denníka používa agent nástroj percona.
Obrázok 3: Obsah servera počas obnovy MySQL
Obrázok 4: Obsah databázy počas obnovy MySQL
Ako zálohovať databázu MySQL bez použitia pluginu zadarmo
Ukladanie databázy MySQL
Táto metóda je úplne zadarmo, pretože vám umožňuje zálohovať MySQL pomocou open source Verzia pre komunitu Bacula a bez ďalších doplnkov. Na zálohovanie malých databáz MySQL je možné použiť jednoduché bash skripty. V prípade zálohovania databáz MySQL si môžete vytvoriť zálohovací skript MySQL, ktorý sa spustí na klientovi a vypíše databázu MySQL.
mysqldump -uuser -ppassword --all-databases | gzip > /opt/mysql_backup/backup.`date +%F`.sql.gz
nájsť /home/bacula-backup/ -type f -mtime +3 -exec rm -f () \;
Tento zálohovací skript MySQL vypíše všetky databázy MySQL do adresára /opt/mysql_backup/, z ktorého budeme zálohovať výpisy databázy pomocou súboru .
Príklad úlohy na zálohovanie databázy MySQL:
Name="BackupSmallMysqlServer"
Úroveň = prírastková
Klient = mysqlserver1
FileSet="mysqlserver"
Rozvrh = "Týždenný cyklus"
Správy = štandardné
ClientRunBeforeJob = "/opt/sbin/mysql.sh"
SpoolAttributes = áno
Napíšte Bootstrap = "/var/lib/bacula/%c.bsr"
name="mysqlserver"
kompresia = GZIP
Súbor = /opt/mysql_backup/
Táto metóda je použiteľná na zálohovanie nenačítaných databáz MySQL, ako sú databázy malých lokalít, pre ktoré nie je zamykanie tabuliek počas výpisu kritické.
Ako zálohovať načítané databázy MySQL?
Ak je databáza MySQL silne zaťažená, neodporúča sa robiť na nej výpis, pretože tabuľky sú počas výpisu uzamknuté. Najsprávnejším riešením v tomto prípade je vytvorenie repliky databázy Master-Slave replikácia.
Pre vyťažené systémy je potrebná replika, aby v prípade zlyhania databázy Majster, bolo možné prepnúť záťaž na otrok a urobte to novým Majster.
Pre vysoko zaťažené systémy by sa zálohy MySQL mali robiť špeciálne pre otrok Databáza.
Databázové servery sú jedným z kľúčových v každej organizácii. Sú to tí, ktorí uchovávajú informácie a poskytujú výstup na požiadanie a je mimoriadne dôležité uložiť databázu v každej situácii. Základná distribúcia zvyčajne obsahuje potrebné nástroje, ale správca, ktorý sa predtým nestretol s databázou, sa bude musieť nejaký čas zaoberať zvláštnosťami práce, aby zabezpečil automatizáciu.
Typy záloh databázy
Na začiatok si povedzme, čo sú zálohy vo všeobecnosti. Databázový server nie je bežnou desktopovou aplikáciou a na zabezpečenie implementácie všetkých vlastností ACID (Atomic, Consistency, Isolated, Durable) sa používa množstvo technológií, a preto vytváranie a obnova databázy z archívu má svoje vlastné vlastnosti. Existujú tri rôzne prístupy k zálohovaniu údajov, z ktorých každý má svoje výhody a nevýhody.
S logickou alebo SQL zálohou (pg_dump, mysqldump, SQLCMD) sa vytvorí okamžitá snímka obsahu databázy, berúc do úvahy transakčnú integritu a uloží sa ako súbor s príkazmi SQL (môžete vybrať celú databázu alebo jednotlivé tabuľky), pomocou ktorých môžete znovu vytvoriť databázu na inom serveri. Uloženie a obnovenie si vyžaduje čas (najmä pri veľkých databázach), takže veľmi často sa táto operácia nedá vykonať a vykonáva sa pri minimálnom zaťažení (napríklad v noci). Pri obnove bude musieť administrátor spustiť niekoľko príkazov, aby pripravil všetko potrebné (vytvorenie prázdnej databázy, účty A tak ďalej).
Fyzická záloha (úroveň súborového systému) - kopírovanie súborov, ktoré DBMS používa na ukladanie údajov do databázy. Jednoduché kopírovanie však ignoruje zámky a transakcie, ktoré sú pravdepodobne nesprávne uložené a poškodené. Ak sa pokúsite pripojiť tento súbor, bude v nekonzistentnom stave a výsledkom budú chyby. Ak chcete získať aktuálnu zálohu, musí byť databáza zastavená (prestoje môžete skrátiť dvojitým použitím rsync – najprv na spustenej, potom na zastavenej). Nevýhoda tejto metódy je zrejmá - nemôžete obnoviť určité údaje, iba celú databázu. Keď spustíte databázu obnovenú z archívu súborového systému, budete musieť skontrolovať integritu. Používajú sa tu rôzne asistenčné technológie. PostgreSQL má napríklad WAL (Write Ahead Logs) a špeciálnu funkciu (Point in Time Recovery - PITR), ktorá umožňuje vrátiť sa do konkrétneho stavu databázy. S ich pomocou sa dá ľahko implementovať tretí scenár, keď je záloha na úrovni súborového systému kombinovaná so zálohou súboru WAL. Najprv obnovíme záložné súbory súborového systému a potom pomocou WAL aktualizujeme databázu. Ide o trochu komplikovanejší prístup na správu, ale nie sú problémy s integritou databázy a obnovou databáz do určitého času.
Logická záloha sa používa v prípadoch, keď je potrebné urobiť jednorazovú úplnú kópiu databázy alebo pri každodennom používaní nezaberie vytvorenie kópie veľa času ani priestoru. Keď vykladanie databáz trvá dlho, mali by ste venovať pozornosť fyzickej archivácii.
Barman
Licencia: GNU GPL
Podporované DBMS: PostgreSQL
PostgreSQL podporuje možnosti fyzického a logického zálohovania pridaním ďalšej vrstvy WAL (pozri bočný panel), ktorú možno nazvať nepretržité zálohovanie. Ale zvládajte bežné nástroje niekoľko serverov nie je príliš pohodlné ani pre skúseného správcu a v prípade zlyhania účet ide na sekundy.
Barman (správca zálohovania a obnovy) je interným vývojom spoločnosti 2ndQuadrant, ktorá poskytuje služby založené na PostgreSQL. Navrhnuté pre fyzické zálohovanie PostgreSQL (nepodporuje logické), archiváciu WAL a rýchlu obnovu po zlyhaniach. Podporuje vzdialené zálohovanie a obnovu viacerých serverov, obnovu v bode v čase (PITR), správu WAL. SSH sa používa na kopírovanie a vydávanie príkazov vzdialenému hostiteľovi, synchronizácia a zálohovanie pomocou rsync umožňuje znížiť prenos. Barman sa tiež integruje so štandardnými utilitami bzip2, gzip, tar a podobne. V zásade môžete použiť akýkoľvek komprimačný a archivačný program, integrácia nezaberie veľa času. Implementované rôzne servisné a diagnostické funkcie, ktoré umožňujú sledovať stav služieb a upravovať šírku pásma. Podporované sú skripty Pre/Post.
Barman je napísaný v Pythone a politiky zálohovania sú spravované pomocou priateľského INI súboru barman.conf, ktorý sa môže nachádzať v /etc alebo v domovskom adresári používateľa. Súčasťou dodávky je hotová šablóna s podrobnými komentármi vo vnútri. Funguje iba na systémoch *nix. Ak chcete nainštalovať na RHEL, CentOS a Scientific Linux, musíte pripojiť EPEL - úložisko, ktoré obsahuje doplnkové balíčky. Používatelia Debian/Ubuntu majú k dispozícii oficiálne úložisko:
$ sudo apt-get install barman
Nie vždy v úložisku Najnovšia verzia, na jeho inštaláciu si budete musieť pozrieť zdrojové texty. Existuje niekoľko závislostí a proces je ľahké zistiť.
Sklápač Sypex
Licencia: BSD
Podporované DBMS: MySQL
Spolu s MySQL sú dodávané utility mysqldump a mysqlhotcopy, ktoré umožňujú jednoducho vytvárať výpis databázy, sú dobre zdokumentované a na internete nájdete veľké množstvo hotových príkladov a frontendov. Tie umožňujú začiatočníkom rýchlo sa pustiť do práce. Sypex Dumper je PHP skript, ktorý vám umožňuje jednoducho vytvárať a obnovovať kópiu databázy MySQL. Je navrhnutý pre prácu s veľkými databázami, je veľmi rýchly, prehľadný a ľahko sa používa. Vie pracovať s objektmi MySQL – pohľadmi, procedúrami, funkciami, spúšťačmi a udalosťami.
Ďalším plusom, na rozdiel od iných nástrojov, ktoré sa pri exporte konvertujú na UTF-8, je, že Dumper exportuje v natívnom kódovaní. Výsledný súbor zaberá menej miesta a samotný proces je rýchlejší. Jeden výpis môže obsahovať objekty s rôzne kódovania. Okrem toho je ľahké importovať / exportovať v niekoľkých fázach, čím sa proces zastaví počas načítania. Pri reštartovaní sa postup spustí od miesta, kde skončil. Existujú štyri možnosti obnovy:
- CREATE + INSERT - štandardný režim obnovenia;
- TRUNCATE + INSERT - menej času na vytváranie tabuliek;
- REPLACE - obnovíme staré dáta v pracovnej databáze bez prepísania nových;
- INSERT IGNORE - pridajte vymazané alebo nové údaje do databázy bez toho, aby ste sa dotkli existujúcich.
Podporuje kompresiu kópií (gzip alebo bzip2), automatické odstraňovanie starých záloh, prezeranie obsahu súboru výpisu, obnovenie iba štruktúry tabuliek. Nechýbajú ani servisné funkcie pre správu databázy (vytváranie, mazanie, kontrola, obnova databázy, optimalizácia, čistenie tabuliek, práca s indexmi a pod.), ako aj správca súborov, ktorý umožňuje kopírovať súbory na server.
Správa sa vykonáva pomocou webového prehliadača, rozhranie AJAX je lokalizované hneď po vybalení a pôsobí dojmom práce s desktopovou aplikáciou. Je tiež možné spúšťať úlohy z konzoly a podľa plánu (cez cron).
Na fungovanie Dumperu budete potrebovať klasický L|WAMP server, inštalácia je spoločná pre všetky aplikácie napísané v PHP (kopírovanie súborov a nastavenie oprávnení) a nebude náročná ani pre začiatočníka. Projekt poskytuje podrobnú dokumentáciu a videonávody demonštrujúce, ako pracovať so Sypex Dumperom.
Existujú dve edície: Sypex Dumper (zadarmo) a Pro (10 dolárov). Druhý má viac funkcií, všetky rozdiely sú uvedené na stránke.
SQL zálohovanie a FTP
Licencia:
Podporované DBMS: PANI SQL Server
MS SQL Server je jedno z populárnych riešení, a preto je celkom bežné. Úloha zálohovania sa vytvára pomocou SQL Server Management Studio, samotného Transact-SQL a cmdletov modulu SQL PowerShell (Backup-SqlDatabase). Na webovej stránke MS môžete nájsť len obrovské množstvo dokumentácie, ktorá vám umožní pochopiť proces. Dokumentácia, aj keď je úplná, je veľmi špecifická a informácie na internete si často protirečia. Začiatočník bude skutočne musieť najskôr trénovať, „naplniť si ruku“, preto, napriek všetkému, čo bolo povedané, vývojári tretích strán majú priestor na to, aby sa otočili. Okrem toho bezplatná verzia SQL Server Express sa nemôže pochváliť vstavanými nástrojmi na zálohovanie. Pre staršie verzie MS SQL (pred rokom 2008) môžete nájsť bezplatné nástroje, ako je SQL Server backup, ale vo väčšine prípadov už boli takéto projekty komercializované, hoci často ponúkajú všetku funkčnosť za symbolickú sumu.
Napríklad vývoj SQL Backup And FTP a One-Click SQL Restore sa riadi princípom set-and-forget. S veľmi jednoduchým a prehľadné rozhranie, umožňujú vytvárať kópie databáz MS SQL Server (vrátane Express) a Azure, ukladať šifrované a komprimované súbory na FTP a cloudové služby(Dropbox, Box, Google Drive, MS SkyDrive alebo Amazon S3), výsledok je možné vidieť okamžite. Proces je možné spustiť ručne aj podľa plánu, poslať správu o výsledku úlohy emailom, spustiť užívateľské skripty.
Podporované sú všetky možnosti zálohovania: úplné, rozdielové, protokol transakcií, kopírovanie priečinka so súbormi a mnoho ďalšieho. Staré zálohy sa automaticky vymažú. Na pripojenie k virtuálnemu hostiteľovi sa používa SQL Management Studio, hoci to môže byť rôzne a nebude fungovať vo všetkých takýchto konfiguráciách. Na stiahnutie je ponúkaných päť verzií – od zadarmo na luxusného prof. Lifetime (v čase písania tohto článku len 149 dolárov). Bezplatná funkcionalita je dostatočná pre malé siete s jedným alebo dvoma nainštalovanými SQL servermi, všetky hlavné funkcie sú aktívne. Počet záložných databáz, možnosť odosielania súborov na Disk Google a SkyDrive a šifrovanie súborov sú obmedzené. Rozhranie, aj keď nie je lokalizované, je veľmi jednoduché a zrozumiteľné aj pre začiatočníkov. Stačí sa pripojiť k serveru SQL, po ktorom sa zobrazí zoznam databáz, mali by ste označiť tie, ktoré potrebujete, nakonfigurovať prístup k vzdialeným zdrojom a určiť čas na dokončenie úlohy. A to všetko v jednom okne.
Je tu však jedno „ale“. Samotný program nie je určený na obnovu archívov. Na to samostatný bezplatný nástroj Obnovenie SQL jedným kliknutím, ktoré rozumie formátu vytvorenému príkazom BACKUP DATABASE. Administrátorovi stačí zadať archív a server, na ktorý sa majú dáta obnoviť, a stlačiť jedno tlačidlo. Ale v zložitejších scenároch budete musieť použiť OBNOVIŤ.
Vlastnosti zálohovania MS SQL Server
Vytvorenie záložnej kópie a obnovenie DBMS má svoje vlastné rozdiely, ktoré je potrebné vziať do úvahy, najmä pri prenose archívu na iný server. Napríklad, poďme analyzovať niektoré nuansy MS SQL Server. Na archiváciu pomocou Transact-SQL použite príkaz BACKUP DATABASE (existuje aj príkaz delta DIFFERENTIAL) a protokol transakcií BACKUP LOG.
Ak je záloha nasadená na inom serveri, musíte sa uistiť, že sú prítomné rovnaké logické jednotky. Prípadne môžete manuálne nastaviť správne cesty pre databázové súbory pomocou voľby WITH MOVE príkazu RESTORE DATABASE.
Jednoduchou situáciou je zálohovanie a prenos databáz do iných verzií SQL Servera. Táto operácia je podporovaná, ale v prípade SQL Servera bude fungovať, ak je verzia servera, na ktorom je kópia nasadená, rovnaká alebo novšia ako tá, na ktorej bola vytvorená. A je tu obmedzenie: nie viac ako dve verzie novšie. Po obnovení bude databáza v režime kompatibility s verziou, z ktorej bol prechod vykonaný, to znamená, že nové funkcie nebudú dostupné. Toto sa dá ľahko opraviť zmenou úrovne COMPATIBILITY_LEVEL. Môžete to urobiť pomocou GUI alebo SQL.
ALTER DATABASE SET COMPATIBILITY_LEVEL pre MyDB = 110;
Ak chcete zistiť, v ktorej verzii bola kópia vytvorená, pozrite sa na hlavičku archívneho súboru. Aby sa neexperimentovalo, pri prechode na Nová verzia SQL Server by mal spustiť bezplatný nástroj Microsoft Upgrade Advisor.
Iperius
Licencia: komerčné, existuje bezplatná verzia
Podporované DBMS: Oracle 9-11, XE, MySQL, MariaDB, PostgreSQL a MS SQL Server
Keď musíte spravovať niekoľko typov DBMS, kombajny sú nevyhnutné. Výber je veľký. Napríklad Iperius je ľahký, veľmi ľahko použiteľný a súbežný výkonný program na zálohovanie súborov, ktorý má funkciu horúceho zálohovania databáz bez prerušenia alebo blokovania. Poskytuje úplné alebo prírastkové zálohovanie. Dokáže vytvoriť úplné obrazy disku na automatickú preinštalovanie celého systému. Podporuje zálohovanie na NAS, USB zariadenia, streamer, FTP/FTPS, Google Drive, Dropbox a SkyDrive. Podporuje kompresiu zip bez obmedzenia veľkosti súboru a šifrovanie AES256, spúšťanie externých skriptov a programov. Obsahuje veľmi funkčný plánovač úloh, je možné vykonávať niekoľko úloh paralelne alebo postupne, výsledok sa posiela na email. Podporované sú početné filtre, premenné na prispôsobenie ciest a nastavení.
Možnosť nahrávania cez FTP uľahčuje aktualizáciu informácií na viacerých webových stránkach. Otvorte Súbory sú zálohované pomocou technológie VSS ( tieňová kópia zväzky), čo vám umožňuje robiť horúcu zálohu nielen súborov DBMS, ale aj iných aplikácií. Pre Oracle sa používa aj nástroj na zálohovanie a obnovu RMAN (Recovery Manager). Aby nedošlo k preťaženiu kanála, je možné upraviť šírku pásma. Správa zálohovania a obnovy sa vykonáva pomocou lokálnej a webovej konzoly. Všetky funkcie sú na očiach, takže na nastavenie úlohy potrebujete iba pochopenie procesu, nemusíte ani nahliadať do dokumentácie. Postupujte podľa pokynov sprievodcu. Môžete si tiež všimnúť správcu účtov, čo je veľmi výhodné pri veľkom počte systémov.
Základné funkcie sú ponúkané bezplatne, ale možnosť redundancie databázy je zahrnutá len vo verziách Advanced DB a Full. Podporuje inštaláciu od XP do Windows Server 2012.
Praktické zálohovanie
Licencia: reklamný spot
Podporované DBMS: Oracle, MySQL, IBM DB2 (7–9.5) a MS SQL Server
Jedným z najvýkonnejších systémov na správu relačných databáz je IBM DB2, ktorý má jedinečné funkcie škálovateľnosti a podporuje mnoho platforiem. Dodáva sa v niekoľkých edíciách, ktoré sú postavené na rovnakom základe a funkčne sa líšia. Databázová architektúra DB2 vám umožňuje spravovať takmer všetky typy údajov: dokumenty, XML, mediálne súbory atď. Bezplatný DB2 Express-C je obzvlášť populárny. Zálohovanie je veľmi jednoduché:
záloha db2 ukážka db
Alebo snímku pomocou funkcie Advanced Copy Services (ACS):
db2 backup db ukážka použitia snímky
Musíme si však uvedomiť, že v prípade snímok nemôžeme obnoviť (db2 recovery db) jednotlivé tabuľky. Existujú príležitosti na automatické zálohovanie a oveľa viac. Produkty sú dobre zdokumentované, hoci manuály sú na ruskojazyčnom internete zriedkavé. Tiež nie všetky špeciálne riešenia dokážu nájsť podporu pre DB2.
Napríklad Handy Backup vám umožňuje zálohovať niekoľko typov databázových serverov a ukladať súbory na takmer akékoľvek médium ( HDD, CD/DVD, cloudové a sieťové úložiská, FTP/S, WebDAV a iné). Je možné zálohovať databázy cez ODBC (iba tabuľky). Je to jedno z mála riešení, ktoré podporuje DB2 a tiež nesie logo „Ready for IBM DB2 Data Server Software“. Celý postup sa vykonáva pomocou konvenčného sprievodcu, v ktorom stačí vybrať požadovanú položku a vytvoriť úlohu. Samotný proces nastavenia je taký jednoduchý, že ho zvládne aj začiatočník. Môžete vytvoriť viacero úloh, ktoré budú prebiehať podľa plánu. Výsledok sa zaprotokoluje a odošle e-mailom. Počas spustenia úlohy nie je potrebné zastaviť službu. Archív je automaticky komprimovaný a šifrovaný, čo zaručuje jeho bezpečnosť.
Práca s DB2 je podporovaná dvoma verziami Handy Backup - Office Expert (lokálna) a Server Network (sieť). Funguje na počítačoch so systémom Win8/7/Vista/XP alebo 2012/2008/2003. Samotný proces nasadenia nie je náročný pre žiadneho správcu.
Ahojte všetci! Sú situácie, keď po inštalácii nového rozšírenia alebo témy na webovú stránku internetového obchodu nastanú najrôznejšie nepredvídané situácie. Spočívajú v tom, že na stránke sa môžu objaviť chyby, ktoré predtým neexistovali, prípadne stránka nereaguje vôbec. Aby ste boli na takéto situácie pripravení, musíte si vytvoriť záložné kópie lokality alebo zálohu. V ideálnom prípade by sa mali vytvárať manuálne pri každej inštalácii nového modulu na lokalitu alebo pri vykonávaní operácií, ktoré ovplyvňujú databázu alebo súbory lokality. Pre každý prípad robím zálohy každý týždeň. Len mám vždy veľa aktualizácií za týždeň.
Manuálne zálohovanie súborov lokality
Spravidla na dobrý hosting, má vlastný systém zálohovania dát. Vytvára zálohu vášho webu s určitým obdobím, zvyčajne niekoľko dní. Je jasné, že pri zálohovaní by ste sa nemali úplne spoliehať na hosting. Ako potom vytvoriť záložnú kópiu? Použijeme .
Prvým krokom je zálohovanie súborov. Ak to chcete urobiť, prejdite do sekcie "WebFTP". Tu vyberieme lokalitu, ktorej súbory chceme rezervovať, a prejdeme do jej priečinka. Potom je potrebné pre rýchlejšie sťahovanie súbory najskôr archivovať. Súbory môžete archivovať s kompresiou alebo bez nej. Odporúčam súbory nekomprimovať a pridať ich do archívu bežným spôsobom, aby sa v budúcnosti nepoškodili. Vyberieme adresáre a súbory, ktoré potrebujeme, v rozbaľovacom zozname v dolnej časti vyberte akciu „Zbaliť do archívu“. Nastavíme mu názov, najlepšie s uvedením dátumu a času, kedy bola kópia vytvorená. Kliknite na tlačidlo "Vykonať".
Na vytvorenie archívu čakáme nejaký čas. Potom si ho stiahnite do počítača. Záložná kópia súborov je pripravená.
Manuálne zálohovanie databázy
Teraz prejdime k rovnako dôležitému kroku – zálohovaniu databázy. Ak hosting neposkytuje možnosť to urobiť automaticky, potom v takýchto prípadoch, aby ste si uložili kópie do počítača, musíte exportovať databázu. Toto sa vykonáva nasledujúcim spôsobom. Prejdite do sekcie "Databázy" a kliknite na odkaz "PHPMyAdmin" vedľa požadovanej databázy.
IN otvoriť kartu zadajte svoje používateľské meno a heslo a dostaneme sa do ovládacieho panela databázy MySQL. Klikneme na názov databázy (1), ktorú chceme rezervovať a prejdeme na záložku „Exportovať“ (2).
Vyberte si metódu s minimálnym počtom nastavení a kliknite na „Vpred“. Potom sa začne sťahovanie súboru sql s kópiou databázy.
Obnova databázy zo zálohy
Ak chcete obnoviť databázu z tohto súboru, budete tiež musieť vstúpiť do ovládacieho panela databázy MySQL, odstrániť všetky existujúce tabuľky v databáze a potom prejsť na kartu "Importovať". Tam vyberte predtým vytvorený súbor a kliknite na tlačidlo „Poďme“. Systém ho stiahne a ohlási dokončenie operácie. Databáza bude mať všetky tabuľky, ktoré obsahovala v čase zálohovania.
Obnovenie súborov zo zálohy
S obnovou súborov je všetko o niečo jednoduchšie. Prejdeme do sekcie „WebFTP“, potom do priečinka vašej lokality, vymažeme všetky súbory v priečinku vašej lokality a kliknite na „Nahrať súbor“. Vyberte predtým vytvorený archív a kliknite na „Nahrať súbor“. Čakáme na dokončenie sťahovania.
Po načítaní archívu a jeho zobrazení na paneli súborov ho musíte rozbaliť. A všetko je pripravené. Alebo bez odstránenia súborov môžete jednoducho stiahnuť archív a rozbaliť ho s náhradou. Ak bolo rozbalenie úspešné, znamená to, že všetky súbory boli nahradené zo zálohy. Ale zvyčajne najprv vymažem súbory a potom rozbalím zálohu.
Súbory je možné sťahovať aj pomocou FTP klienta, ako je FileZilla. Písal som o tom, ako s ním pracovať. Cez klienta sa pripojíme k nášmu ftp účtu, prejdeme do priečinka so súbormi stránok a jednoducho ich skopírujeme do nášho počítača. Podobne sa dajú nahrať z počítača na hosting. Len nezabudnite skopírovať a nahradiť.
Nezabúdajte na bezpečnosť svojich stránok, berte zálohy vážne, pretože nikdy neviete, kedy sa môžu hodiť.
S pozdravom Schmidt Nikolai
Organizujeme automatické zálohovanie databázy MySQL.
Každá databáza musí byť zálohovaná zálohou alebo zálohou. Ak to stále robíte manuálne, môžete sa radovať, pretože existuje jednoduché riešenie PHP na automatické zálohovanie. Pomocou tohto skriptu môžete preniesť konkrétne tabuľky na zálohovanie alebo zálohovať celú databázu.
Ako implementovať zálohy mysql?
Najlepšie je skopírovať poskytnutý kód skriptu a umiestniť ho do priečinka "database_backups", ako je znázornené na obrázku nižšie. Potom pri volaní súboru zálohovanie.php, zálohuje databázu na vašom serveri. Odporúčam pravidelne kopírovať všetky záložné súbory do počítača alebo iného úložiska, aby ste boli v bezpečí v prípade straty hostingu.
Automatizácia zálohovania mysql pomocou CRON
CRON je osvedčený plánovač úloh, ktorý vám umožňuje spúšťať skripty určitý čas. Môžete napríklad zálohovať databázu v noci, keď klesne prevádzka. CRON môžete ľahko nastaviť, ak ho váš hostiteľ podporuje. Ak to chcete urobiť, musíte spustiť nasledujúci príkaz, v ktorom stačí zmeniť odkaz na váš záložný súbor.
Wget -O /dev/null http://your-site.com/database_backup/backup.php
súbor s kódom PHP
Pozreli sme sa na jednoduchý príklad implementácie automatického zálohovania databázy mysql. Áno, metóda je nejasná, ale je prijateľná pre malé lokality. Ak máte veľký projekt, používanie php je v porovnaní s používaním veľmi pomalé mysqldump. Láskavá prosba pre tých, ktorí vedia, ako lepšie organizovať zálohovanie, napíšte do komentárov.
1. februára 2012 o 00:33Zálohovanie dát v MySQL
- MySQL
Zálohovanie databáz je taká vec, ktorú si vždy musíte nastaviť pre už spustené projekty priamo na „živých“ produkčných serveroch.
Táto situácia sa dá ľahko vysvetliť. Na samom začiatku je akýkoľvek projekt ešte prázdny a jednoducho nie je čo kopírovať. Vo fáze rýchleho vývoja sú hlavy niekoľkých vývojárov zaneprázdnené výlučne lámaním čipov a kudrliniek, ako aj opravovaním kritických chýb s termínom „predvčerom“. A až keď sa projekt „rozbehne“, dôjde k poznaniu, že hlavnou hodnotou systému je nahromadená databáza a jej zlyhanie bude katastrofou.
Tento prehľadný článok je pre tých, ktorých projekty už dospeli do tohto bodu, ale pečený kohút ešte nepichol.
1. Kopírovanie databázových súborov
Databázu MySQL je možné skopírovať dočasným vypnutím servera MySQL a jednoduchým skopírovaním súborov z priečinka /var/lib/mysql/db/. Ak server nie je vypnutý, z pochopiteľných dôvodov je pravdepodobná strata a poškodenie údajov. Pri veľkých načítaných databázach sa táto pravdepodobnosť blíži k 100 %. Okrem toho, keď prvýkrát začnete so „špinavou“ kópiou databázy, server MySQL začne proces kontroly celej databázy, čo môže trvať hodiny.Vo väčšine „živých“ projektov pravidelná odstávka databázový server na dlhú dobu je neprijateľné. Na vyriešenie tohto problému sa používa trik založený na snímkach súborového systému. Snímka je niečo ako „fotka“ súborového systému v určitom časovom bode, urobená bez skutočného kopírovania údajov (a teda rýchlo). Podobným spôsobom funguje lenivé kopírovanie objektov v mnohých moderných programovacích jazykoch.
Všeobecná schéma akcií je nasledovná: všetky tabuľky sú uzamknuté, vyrovnávacia pamäť databázových súborov je resetovaná, je urobená snímka systému súborov, tabuľky sú odomknuté. Potom sa súbory ticho skopírujú zo snímky, po ktorej sa zničia. Časť „blokovania“ takéhoto procesu trvá rádovo v sekundách, čo je už tolerovateľné. Ako odplata za nejaký čas, kým je snímka „nažive“, výkon operácií so súbormi klesá, čo ovplyvňuje predovšetkým rýchlosť operácií zápisu do databázy.
Niektorí súborové systémy, ako napríklad ZFS, natívne podporujú snímky. Ak nepoužívate ZFS, ale máte na serveri správcu zväzkov LVM, môžete databázu MySQL skopírovať aj prostredníctvom snímky. Nakoniec, pod *nix, môžete použiť R1Soft Hot Copy snapshot ovládač, ale táto metóda nebude fungovať v openvz () kontajneri.
Pre databázy MyISAM existuje oficiálny bezplatný nástroj mysqlhotcopy, ktorý „správne“ skopíruje databázové súbory MyISAM bez zastavenia servera. Existuje podobná utilita pre InnoDB, ale je platená, aj keď má viac funkcií.
Kopírovanie súborov - najviac rýchly spôsob preniesť celú databázu z jedného servera na druhý.
2. Kopírujte cez textové súbory
Na načítanie údajov z produkčnej databázy do zálohy nie je potrebné sťahovať súbory. Údaje môžete vybrať pomocou dotazu a uložiť ich do textového súboru. Na to slúži SQL príkaz SELECT INTO OUTFILE a jeho pár LOAD DATA INFILE . Vykladanie sa vykonáva riadok po riadku (na uloženie môžete vybrať len potrebné riadky, ako pri bežnom SELECTe). Štruktúra tabuliek nie je nikde špecifikovaná - o to by sa mal postarať programátor. Musí sa tiež postarať o zahrnutie príkazov SELECT INTO OUTFILE do transakcie, ak je to potrebné na zabezpečenie integrity údajov. V praxi sa SELECT INTO OUTFILE používa na čiastočné zálohy veľmi veľké stoly ktoré nemožno skopírovať iným spôsobom.Vo väčšine prípadov je oveľa pohodlnejší nástroj mysqldump vytvorený Igorom Romanenkom. Nástroj mysqldump vygeneruje súbor obsahujúci všetky príkazy SQL potrebné na úplné obnovenie databázy na inom serveri. Samostatnými možnosťami dosiahnete kompatibilitu tohto súboru s takmer akýmkoľvek DBMS (nielen MySQL), navyše je možné nahrávať dáta vo formátoch CSV a XML. Na obnovenie údajov z takýchto formátov existuje pomôcka mysqlimport.
nástroj konzoly mysqldump. Existujú jeho doplnky a analógy, ktoré vám umožňujú spravovať zálohovanie cez webové rozhranie, napríklad ukrajinský nástroj Sypex Dumper (ich zástupca je na Habré).
Nevýhody univerzálnych zálohovacích utilít v textové súbory- ide o relatívne nízku rýchlosť a nedostatok možnosti vytvárať prírastkové zálohy.
3. Prírastkové zálohy
Tradične sa odporúča uchovávať 10 záloh: jednu na každý deň v týždni, ako aj dvojtýždňové, mesačné a štvrťročné zálohy – to vám umožní vrátiť sa dosť hlboko späť v prípade poškodenia akýchkoľvek údajov.Zálohy by rozhodne nemali byť uložené na rovnakom disku ako živá databáza a nie na rovnakom serveri. V prípade požiarov a iných katastrof je najlepšie prenajať si pár jednotiek v neďalekom dátovom centre.
Tieto požiadavky sa môžu stať problémom pre veľké databázy. Pumpovanie zálohy 100-gigabajtovej databázy cez 100-Mbit sieť bude trvať približne tri hodiny, počas ktorých sa kanál úplne zaplní.
Čiastočne tento problém vyriešite umožnením prírastkových záloh, keď sa úplná záloha robí povedzme len v nedeľu a v ostatné dni sa zapisujú len údaje pridané alebo zmenené za posledný deň. Problémom je, ako identifikovať práve tieto „údaje, ktoré sa zmenili za deň“.
Tu prakticky nemá konkurenciu systém Percona XtraBackup, ktorý obsahuje upravený InnoDB engine, analyzuje binárne logy MySQL a extrahuje z nich potrebné informácie. Takmer rovnaké možnosti má aj vyššie spomínaný platený InnoDB Hot Backup.
Bežným problémom akýchkoľvek záloh je, že vždy zaostávajú. V prípade fatálneho zlyhania hlavného servera bude možné obnoviť systém iba s určitým „rollbackom“ v čase, čo jeho používateľov veľmi, veľmi sklame. Ak boli finančné toky v systéme nejakým spôsobom ovplyvnené, môže dôjsť k takémuto „vráteniu“. doslova letieť do jamy.