Nastavenie zálohy Mysql. záloha databázy mysql

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:33

Zá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.

4. Replikácia

Replikačný systém MySQL je navrhnutý tak, aby zabránil vráteniu späť. Myšlienka replikácie je založená na skutočnosti, že okrem „hlavného“ servera („Master“) neustále pracujú aj podriadené servery MySQL („slave“), ktoré dostávajú prírastkové zálohy od hlavného servera v reálnom čase. Čas návratu sa teda skráti takmer na oneskorenie siete. V prípade havárie Master môže byť jeden z otrokov rýchlo menovaný ako „nový Master“ a klienti môžu byť naň presmerovaní. Okrem toho môžu podriadené jednotky spracovávať požiadavky na čítanie údajov (SELECT); toto možno použiť na vykonanie niektorých výpočtov alebo zníženie zaťaženia sprievodcu. MySQL podporuje replikáciu hneď po vybalení, proces je dobre opísaný používateľom

Načítava...
Hore