Urobíme výpis (zálohu) databázy pomocou utility mysqldump. Zálohovanie MySQL databáz Denník Maxim Bogolepov Zálohovanie mysql databáz

Ahojte všetci! Sú situácie, keď po nainštalovaní nového rozšírenia alebo témy na webovú stránku internetového obchodu nastanú rôzne nepredvídané situácie. Spočívajú v tom, že sa na stránke môžu objaviť chyby, ktoré tam predtým neboli, prípadne stránka nemusí reagovať vôbec. Aby ste boli na takéto situácie pripravení, musíte si vytvoriť záložné kópie svojej 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. Zálohy robím každý týždeň pre každý prípad. Len vždy dostanem veľa aktualizácií za týždeň.

Manuálne zálohovanie súborov lokality

Dobrí poskytovatelia hostingu majú spravidla svoj vlastný systém zálohovania dát. Vytvára zálohu vašej stránky 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 môžete vytvoriť záložnú kópiu? Použijeme .

Prvým krokom je vytvorenie záložnej kópie vašich súborov. Ak to chcete urobiť, prejdite do časti „WebFTP“. Tu vyberieme stránku, ktorej súbory chceme zálohovať a prejdeme do jej priečinka. Pre rýchlejšie sťahovanie je potom potrebné súbory najskôr skomprimovať. Súbory môžete archivovať s kompresiou alebo bez nej. Odporúčam súbory nekomprimovať a pridať ich do archívu v ich bežnej forme, aby sa v budúcnosti nepoškodili. Vyberieme adresáre a súbory, ktoré potrebujeme, v rozbaľovacom zozname nižšie vyberte akciu „Zbaliť do archívu“. Dáme jej názov, najlepšie s uvedením dátumu a času, kedy bola kópia vytvorená. Kliknite na tlačidlo „Spustiť“.

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 robí nasledovne. Prejdite do sekcie „Databázy“ a kliknite na odkaz „PHPMyAdmin“ oproti požadovanej databáze.

Na otvorenej karte zadajte svoje používateľské meno a heslo a dostaneme sa do ovládacieho panela databázy MySQL. Kliknite na názov databázy (1), ktorú chcete rezervovať, a prejdite na záložku „Exportovať“ (2).

Vyberte 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, musíte sa tiež prihlásiť 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 upozorní vás, že operácia je dokončená. V databáze sa vytvoria všetky tabuľky, ktoré obsahovala v čase vytvorenia zálohy.

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 stiahnutí archívu a 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 a nahradiť ho. Ak bolo rozbalenie úspešné, znamená to, že všetky súbory zo záložnej kópie boli nahradené. Ale zvyčajne najprv vymažem súbory a potom rozbalím zálohu.

Súbory môžete sťahovať aj pomocou FTP klienta, ako je napríklad 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 počítača. Rovnakým spôsobom sa dajú nahrať z vášho 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 Nikolay

Dobrý deň, milí čitatelia blogu. Dnes chcem hovoriť o koncepte zálohovania súborov a databáz vášho zdroja.

Áno, samozrejme, veľa hostiteľov () vykonáva zálohy automaticky a ak sa niečo stane, môžete sa na nich obrátiť so žiadosťou o pomoc. Ale ako sa hovorí: spoliehajte sa na hostiteľa, ale nerobte chybu sami.

Situácie, v ktorých môžete stratiť svoje projektové dáta, môžete citovať veľa a sami ste o tom určite počuli. Nemali by ste sa spoliehať na milosť svojho hostiteľa. Musíte si vytvoriť zálohu sami a uložiť ju do počítača.

Bude to oveľa spoľahlivejšie a pokojnejšie. Ak sa váš internetový projekt predsa len zrútil a nie je ho z čoho obnoviť, skúste šťastie vo Webarchíve (podrobnejšie o ňom je tu písané), pretože neustále robí snímky veľkej väčšiny stránok na internete .

Ako zálohovať súbory webových stránok pomocou FileZilla

Ako už asi viete, stránky vytvorené na základe akéhokoľvek motora, či už je to Joomla, WordPress alebo SMF, pozostávajú z dvoch dôležitých častí:

  1. Po prvé, toto sú skutočné súbory motora a v ňom nainštalované rozšírenia, obrázky a...
  2. A za druhé sú to databázy, kde sú uložené texty vašich článkov, príspevkov a pod.

V databáze (DB) je možné uložiť aj nastavenia niektorých parametrov motora a jeho rozšírení. Už som o tom písal v článku o. Takáto organizácia má mnoho výhod.

To znamená, že naša úloha spočíva v zálohovaní všetkého tohto bohatstva. Frekvencia zálohovania databázy je navyše zvyčajne určená frekvenciou nových informácií objavujúcich sa vo vašom projekte. Optimálny spôsob je podľa mňa denné kopírovanie databázy. Našťastie zvyčajne veľmi nevážia a takéto zálohy sa vykonávajú veľmi rýchlo. Pravdepodobne by ste mali aktualizovať záložné kópie svojich projektových súborov až potom, čo ste v nich vykonali nejaké zmeny: nainštalovali nejaké rozšírenia, aktualizovali verziu motora atď.

Začnime možno s prvým volaným asistentom FileZilla, aj keď namiesto toho môžete použiť akéhokoľvek iného správcu FTP, až do , ale ja preferujem túto konkrétnu tvorbu slobodného softvéru. Už som ich dosť podrobne opísal vo vyššie uvedenom článku, preto sa tým nebudeme podrobne zaoberať (ak chcete, prečítajte si sami, najmä o ukladaní hesiel v tomto programe a problémoch s tým spojených).

Pozrime sa, ako pomocou neho zálohovať súbory. Keď budete mať prístup k svojmu hostiteľskému serveru, mali by ste prejsť do koreňového priečinka (zvyčajne nazývaného public_html alebo htdocs). Vzdialený server v Filezil je zobrazený vpravo a obsah vášho počítača je zobrazený vľavo.

Ak plánujete pravidelne zálohovať, odporúčam vám vytvoriť priečinok na pevnom disku počítača s „hovoriacim“ názvom a v ňom sú adresáre s názvami vašich projektov. V týchto adresároch môžete vytvárať priečinky s aktuálnym dátumom, do ktorých sa skopírujú súbory vášho webového projektu. Vďaka tomu bude potom jednoduchšie prechádzať zálohami a mazať veľmi neaktuálne, aby sa uvoľnilo miesto.

Teraz otvorte na ľavej strane FileZilla priečinok, kde sa vykoná záloha, a na pravej strane - koreňový priečinok webovej stránky. Odporúčam vám povoliť možnosť zobrazovať skryté súbory v nastaveniach tohto programu: v hornom menu vyberte „Server“ - "Vynútiť zobrazenie skrytých súborov".

Je to potrebné, aby sa do zálohy zahrnuli skryté súbory, ako napríklad .htaccess. Potom vyberiete všetky objekty na svojej lokalite v koreňovom adresári a zároveň podržíte tlačidlo Shift na klávesnici. Kliknite pravým tlačidlom myši na vybrané objekty a vyberte položku z kontextového menu "Stiahnuť ▼".

Spustí sa zálohovanie súborov, ktoré môže trvať pomerne dlho – v závislosti od počtu a celkovej hmotnosti kopírovaných objektov, ako aj od rýchlosti servera. Nemusíte však sledovať proces vytvárania zálohy. Počas kopírovania môžete pracovať bez toho, aby ste museli zatvoriť Filezillu.

Na konci procesu sa budete cítiť lepšie zabaliť všetko stiahnuté do jedného archívu, pretože to môže výrazne znížiť objem a počet uložených predmetov. Po archivácii ponecháte iba jeden archív a vymažete všetko stiahnuté - všetko bude pekné a čisté. Ak chcete obnoviť súbory lokality z takejto zálohy: budete ju musieť rozbaliť a skopírovať obsah archívu na server podobným spôsobom, ako je opísané vyššie.

Je pravda, že ak ste zabalili súbory do archívu ZIP, môžete ho nahrať na server a rozbaliť ho tam (ako je popísané tu). V tomto prípade však môžu neskôr nastať nejaké problémy, ktoré sa dajú vyriešiť prostriedkami PHP (prečítajte si odkaz o prístupových právach a programovej zmene Cmod).

Ako vytvoriť zálohu databázy pomocou phpMyAdmin

Pozrime sa, ako zálohovať databázu pomocou skriptu phpMyAdmin. Môžete k nemu pristupovať z ovládacieho panela vášho hostingu. Ak máte, potom na spustenie phpMyAdmin musíte postupovať podľa nasledujúcej cesty: nájdite oblasť s názvom „Databázy“ na hlavnej stránke cPanel a kliknite na ikonu tohto skriptu tam.

Ak váš hosting nemá prístup k tomuto skriptu, potom vy môžete to urobiť sami do koreňového priečinka vašej lokality a pristupujte cez ňu k vašej databáze. Program si môžete stiahnuť odtiaľto.

Po stiahnutí archívu do počítača ho musíte rozbaliť a výsledný priečinok (pre jednoduchosť si ho môžete najskôr premenovať na phpmyadmin) nahrať do koreňového adresára. Vo všeobecnosti je to všetko. Teraz všetko, čo musíte urobiť, je zadať nasledujúcu adresu URL do panela s adresou vášho prehliadača: http://vash_sait.ru/phpmyadmin

V každom prípade sa nám otvorí okno programu PhpMyAdmin, pomocou ktorého môžeme jednoducho zálohovať databázy vašich projektov. Toto je hlavná stránka programu (na niektorých stránkach mám mierne zastaranú verziu, ale práve som si na ňu zvykol):

Ak ste na akejkoľvek inej stránke phpMyAdmin, tak aby ste sa dostali na hlavnú stránku, musíte kliknúť na dom zvýraznený na obrázku. Na jednom účte u hostiteľa môžete mať veľa databáz a preto musíte najprv vybrať z ľavého menu základňu, ktorý chcete zálohovať.

Zoznam databáz môžete vidieť v okne programu vľavo (pod ikonou domčeka). Ak chcete vytvoriť zálohu databázy, musíte kliknúť na kartu "Export" nad zoznamom tabuliek.

V dolnej časti stránky, ktorá sa otvorí, začiarknite políčko "gzip". A kliknite na tlačidlo "ok".

Pravda, toto je v starej (vhodnej) verzii skriptu. Teraz sa vám predvolene ponúka rýchle stiahnutie databázy bez kompresie a ak chcete niečo prispôsobiť (vrátane aktivácie jej kompresie gzip za chodu), budete musieť znova začiarknuť políčko „Normálne“ a vybrať medzi mnoho ďalších nastavení, čo podľa mňa nie je príliš pohodlné.

Výsledkom je, že po určitom čase (závisí od rýchlosti servera, jeho vyťaženia a veľkosti vašej databázy) sa otvorí štandardné dialógové okno kopírovania, v ktorom musíte vybrať miesto na uloženie zálohy tejto databázy.

Obnovenie databázy z predtým vytvorenej zálohy

Ak chcete obnoviť databázu zo zálohy, musíte postupovať nasledovne. Najprv musíte vymazať existujúcu databázu všetkých tabuliek. Za týmto účelom sa prihlásite do programu phpMyAdmin, v ľavom stĺpci vyberiete požadovanú databázu, ktorú chcete obnoviť.

V okne, ktoré sa otvorí s tabuľkami tejto databázy, prejdite úplne dole a pod zoznamom tabuliek kliknite na "Vybrať všetko". Potom znova v spodnej časti stránky vyberte z rozbaľovacieho zoznamu položku „S označenými“. "Odstrániť".

Otvorí sa okno so zoznamom všetkých tabuliek, ktoré sa majú vymazať. Kliknete na tlačidlo „Áno“.

Teraz môžete obnoviť databázu z predtým vytvorenej zálohy. Ak to chcete urobiť, vyberte záložku "Import":

V okne, ktoré sa otvorí, kliknite na tlačidlo „Vybrať súbor“ a nájdite predtým vytvorenú zálohu tejto databázy na vašom pevnom disku. Kliknite na tlačidlo „Forward“ (alebo „OK“ v starších verziách skriptu) v spodnej časti stránky a počkajte na dokončenie sťahovania (čas opäť závisí od rýchlosti servera a veľkosti databázy) . Všetky.

Ak máte v počítači aktuálne zálohy súborov a databáz, môžete pokojne spať. Môžu byť tiež použité pri presune stránky na iný hosting.

Prenos stránky na nový hosting

Ako teda môžeme preniesť stránku na nové miesto? Po zakúpení hostingu Vám budú poskytnuté údaje pre prístup na hostingový server cez FTP, ktoré zadáte do programu Filezila pre získanie prístupu na server.

Najprv rozbaľte záložné dáta v počítači a umiestnite ich do koreňového priečinka, podobne ako vyššie popísaný proces. Bez čakania na skopírovanie súborov môžete začať s obnovou databázových tabuliek zo zálohy vytvorenej v starom umiestnení vášho prostriedku.

Na to však musíte najskôr prejsť na nový hosting (kde sa neskôr skopírujú uložené tabuľky). Ako to urobiť, sa dozviete z článku o phpMyAdmin, odkaz na ktorý som uviedol vyššie. Upozorňujeme, že s najväčšou pravdepodobnosťou si nebudete môcť vybrať pre databázu a jej používateľa rovnaký názov ako v predchádzajúcom mieste bydliska. Faktom je, že hosting zvyčajne pridá vaše prihlásenie k názvu databázy, ktorý si vyberiete.

Preto po dokončení kopírovania súborov a databázy by ste pred prístupom na stránku z prehliadača mali zadať príslušné zmeny nastavení vášho webového nástroja. Aby ste to dosiahli, budete musieť znova pristupovať k súborom stránok cez FTP a vykonať zmeny v konfiguračných súboroch jedného alebo druhého motora (Joomla, WordPress, SMF atď.). Pozrime sa na nastavenia pre každý motor zvlášť.

Čo zmeniť v nastaveniach WordPressu pri jeho migrácii

Prenos blogu do WordPress si bude vyžadovať zmenu nasledujúcich nastavení. Budete musieť otvoriť súbor na úpravu pomocou FileZilla WP-CONFIG.PHP, ktorý sa nachádza v koreňovom adresári na serveri. V ňom musíte upraviť riadky zodpovedné za názov databázy a používateľa.

// ** Nastavenia MySQL – môžete ich získať od svojho hostiteľa ** // /** Názov databázy pre WordPress */ define("WP_CACHE", true); //Pridané WP-Cache Manager define("DB_NAME", "tu zadajte nový názov vašej databázy"); /** Meno používateľa MySQL */ define("DB_USER", "sem zadajte nové meno používateľa"); /** Heslo databázy MySQL */ define("DB_PASSWORD", "anipiimaaxai"); /** MySQL server - niekedy je potrebné zmeniť túto hodnotu, napríklad na Masterhost */ define("DB_HOST", "localhost"); /** Kódovanie databázy používané pri vytváraní tabuliek. */ define("DB_CHARSET", "utf8"); /** Mapovanie databázy. TÚTO HODNOTU NEMEŇTE. */ define("DB_COLLATE", "");

Po úprave uložte tento súbor späť a môžete považovať prenos WordPressu na nový hosting za úspešný. Ak pri prenose blogu zmeníte názov domény, potom, aby všetko fungovalo správne, budete musieť otvoriť záložnú kópiu databázy s príponou SQL v textovom editore (extrahovať ju z archívu gzip).

Potom pomocou vstavaného „hľadať a nahradiť“ nájdite všetky odkazy na starú adresu URL svojho blogu a nahraďte jej novú adresu (napríklad vasy.ru za vova.ru). Potom uložte súbor so zálohou databázy a „Importujte“ ho do programu phpMyAdmin.

Po prihlásení do oblasti správy WordPress budete musieť zadajte správnu absolútnu cestu na objekty vášho blogu (zmenil sa, pretože ste WordPress presunuli na iný hosting). Absolútna cesta sa nastavuje cez parameter UPLOAD_PATH v globálnych nastaveniach WP. K týmto nastaveniam sa dostanete pridaním nasledujúcej cesty k adrese URL hlavnej stránky:

/wp-admin/options.php

Adresa môjho blogu bude vyzerať takto:

Https://site/wp-admin/options.php

Najprv sa však musíte prihlásiť do správcu WordPress. prečítajte si uvedený odkaz.

Čo je potrebné zmeniť v nastaveniach Joomly pri zmene hostingu

Prenos webovej stránky Joomla na iný hosting bude vyžadovať zmenu nasledujúcich nastavení. Budete musieť otvoriť na úpravu CONFIGURATION.PHP v koreňovom priečinku servera. Nájdite v ňom riadky, ktoré sú zodpovedné za získanie prístupu do databázy:

Var $user = "sem zadajte nové používateľské meno"; var $db = "tu zadajte názov novej databázy";

Okrem toho budete musieť zmeniť aj absolútnu cestu k priečinkom na ukladanie protokolov a dočasných súborov v Joomle. Musíte to zmeniť v týchto riadkoch:

Var $log_path = "/home/xxxxx/public_html/logs"; var $tmp_path = "/home/xxxx/public_html/tmp";

Presun SMF fóra na nový hosting

Migrácia fóra do SMF bude vyžadovať zmenu niektorých nastavení. Budete ho musieť otvoriť na úpravu SETTINGS.PHP z koreňového priečinka fóra. Rovnako ako v prípade Joomly, aj tu budete musieť zmeniť nielen názov databázy a používateľa SMF, ale aj absolútne cesty k priečinku fóra a priečinku SOURCES fóra.

########## Informácie o databáze ########## $db_server = "localhost"; $db_name = "tu zadajte názov vašej novej databázy"; $db_user = "sem zadajte nové užívateľské meno"; $db_passwd = "hoighaebaeto"; $db_prefix = "smf_"; $db_persist = 0; $db_error_send = 1; ########## Adresáre/súbory ########## # Poznámka: Tieto adresáre sa nemusia meniť, pokiaľ veci nepresuniete. $boarddir = "/home/xxxx/public_html/forum"; # Absolútna cesta k priečinku fóra. (nie len "."!) $sourcedir = "/home/xxxx/public_html/forum/Sources"; # Cesta k adresáru Sources.

Okrem toho však po prenose SMF na nový hosting budete musieť zmeniť absolútnu cestu k aktuálne nainštalovanému priečinku. Ak to chcete urobiť, musíte prejsť do oblasti správy fóra a v ľavom stĺpci vybrať „Aktuálna téma“. V okne, ktoré sa otvorí, v oblasti „Priečinok tém“ zadáte absolútnu cestu k požadovanému priečinku.

Ako začať pracovať s webovou stránkou ihneď po jej prenesení na nový hosting

Pripojili ste k tomu svoj (v mojom prípade webovú stránku). Alebo ste prevod vykonali v súlade s vyššie uvedeným. V zásade je to jedno, ale aj tak budete musieť nový server priradiť k doméne. Za týmto účelom nájdete svojho nového hostiteľa v ovládacom paneli svojho registrátora (kde ste si zakúpili názov domény).

Adresy serverov DNS môžete vidieť v liste, ktorý vám pošle nový hostiteľ. Kde presne tieto DNS musíte zadať na paneli registrátora, je ťažké povedať s istotou, ale nemal by byť hlboko pochovaný a ležať na očiach. V krajnom prípade kontaktujte technickú podporu.

Takže aj napriek úspešnému prevodu stránky na nového hostiteľa stále musíte počkajte niekoľko hodín až niekoľko dní počas delegovania vašej domény. Kým sa tento proces nedokončí, váš zdroj nebude dostupný na vašom novom mieste.

Niekedy môže vlastník hostingu uviesť v liste technickú adresu, na ktorej môžete pristupovať k svojmu zdroju, kým sa aktualizujú záznamy na všetkých serveroch DNS na internete. Ale nie vždy sa to stane. Navyše, napríklad pre WordPress vám technická adresa neumožní naplno začať pracovať s novopreneseným blogom, pretože tento engine je striktne viazaný na názov domény.

Vlastník hostiteľa však v liste vždy uvádza IP adresu vášho nového servera. Pomocou neho získate prístup k svojmu zdroju bez čakania na registráciu DNS. V tomto prípade však získate prístup iba vy a iba na počítači, kde vykonáte nastavenia popísané nižšie. Takže musíte urobiť nasledovné:

  1. pomocou ľubovoľného správcu súborov otvorte na úpravu (pod týmto odkazom nájdete podrobný článok o tom, kde sa tento súbor nachádza, ako ho nájsť v systéme Windows 7 a čo by sa v ňom malo napísať), nachádza sa v nasledujúcej ceste: c:\ Windows\System32 \drivers\etc\hosts
  2. na koniec obsahu HOSTS treba pridať riadok: stránka 109.77.43.4 kde na začiatku je IP adresa nového servera a za ňou oddelená medzerou doména
  3. uložte tento súbor a môžete bezpečne zadať do prehliadača adresu zdroja, ktorý ste práve preniesli (možno budete musieť resetovať vyrovnávaciu pamäť DNS vo vašom počítači – prečítajte si o tom vyššie v článku o súbore Hosts)

Bez toho, aby ste museli čakať na delegovanie domény, už môžete skontrolovať funkčnosť prenášaného zdroja a v prípade potreby všetko opraviť skôr, ako bude dostupný pre všetkých ostatných návštevníkov. Po delegovaní domény budete potrebovať odstrániť pridaný riadok v HOSTS.

Môžete si tiež pozrieť video na túto tému od známeho tvorcu webových stránok v RuNet:

No a výber videonávody o prenose webovej stránky Joomla CMS na hosting Radím ti pozrieť sa. Automaticky sa prehrajú jedna po druhej a ak chcete, môžete prepnúť na ďalšiu lekciu pomocou príslušného tlačidla na paneli prehrávača alebo vybrať požadovanú lekciu z rozbaľovacej ponuky v ľavom hornom rohu okna prehrávača:

Príjemné sledovanie!

Veľa šťastia! Uvidíme sa čoskoro na stránkach blogu

Mohlo by vás to zaujímať

1. februára 2012 o 00:33

Zálohovanie dát v MySQL

  • MySQL

Zálohovanie databázy je vec, ktorá musí byť vždy nakonfigurovaná 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 doťahovaním funkcií a ozdôb, 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 neprijal návnadu.

1. Kopírovanie databázových súborov

Databázu MySQL je možné skopírovať, ak dočasne vypnete server MySQL a jednoducho skopírujete súbory 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 %. Navyše, 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 je pravidelné vypínanie databázového servera na dlhú dobu 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 a tabuľky sú odomknuté. Potom sa súbory ticho skopírujú zo snímky a potom sa zničia. Časť „blokovania“ takéhoto procesu trvá asi sekundy, čo je už tolerovateľné. Ako odplata sa na určitý čas, kým je snímka „nažive“, znižuje výkon operácií so súbormi, čo primárne ovplyvňuje rýchlosť operácií zápisu do databázy.

Niektoré súborové systémy, ako napríklad ZFS, podporujú vytváranie snímok natívne. 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álna bezplatná utilita 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 je najrýchlejší spôsob prenosu celej databázy z jedného servera na druhý.

2. Kopírovanie 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ť iba potrebné riadky, ako pri bežnom SELECTe). Štruktúra tabuliek nie je nikde špecifikovaná - o to sa musí 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álohu veľmi veľkých tabuliek, ktoré sa nedajú 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. Pomocou samostatných možností môžete tento súbor urobiť kompatibilným s takmer každým DBMS (nielen MySQL), navyše je možné sťahovať dáta vo formátoch CSV a XML. Na obnovenie údajov z takýchto formátov existuje nástroj s názvom 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 do textových súborov sú relatívne nízka rýchlosť prevádzky a nemožnosť robiť 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 zálohy spred dvoch týždňov, mesiaca a štvrť – to vám umožní vrátiť sa dosť hlboko späť v prípade akéhokoľvek poškodenia ú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 môžu byť problémom pre veľké databázy. Nahranie zálohy 100-gigabajtovej databázy cez 100-Mbit sieť bude trvať približne tri hodiny, počas ktorých bude kanál úplne upchatý.
Čiastočne tento problém dokážu vyriešiť prírastkové zálohy, kedy sa plná záloha robí povedzme len v nedeľu a v ostatné dni sa zapisujú len dáta pridané alebo zmenené za posledný deň. Problém je v tom, ako identifikovať práve tieto „údaje, ktoré sa počas dňa zmenili“.

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.

Všeobecný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 by boli finančné toky v systéme nejakým spôsobom ovplyvnené, takýto „prokop“ môže stáť doslova pekný cent.

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 bežia 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. Ak Master zlyhá, môžete rýchlo vymenovať jedného z otrokov za „nového Mastera“ a presmerovať klientov naň. Okrem toho môžu podriadené zariadenia spracovávať požiadavky na čítanie údajov (SELECT); toto môže byť použité na vykonanie niektorých výpočtov alebo zníženie zaťaženia na master. MySQL podporuje replikáciu hneď po vybalení, proces je dobre opísaný používateľom

V tomto článku sa pozrieme na niekoľko praktických príkladov zálohovania obnovy databázy pomocou mysqldump. Nástroj mysqldump je efektívny nástroj na vytváranie záložnej kópie databázy MySQL. Umožňuje vytvoriť súbor *.sql s kolekciou (výpisom) všetkých tabuliek a údajov hlavnej databázy (zdroja).

Na zálohovanie databáz MyISAM je lepšie použiť tento nástroj mysqlhotcopy, ktoré si určite popíšeme v nasledujúcich článkoch, keďže s nimi to funguje rýchlejšie a efektívnejšie.


Používaním mysqldump, môžete buď vytvoriť záložnú kópiu lokálnych databáz, alebo ich obnoviť do vzdialených databáz. V tomto článku sa pozrieme na niekoľko praktických príkladov využitia zálohovania pri obnove databázy mysqldump.

Základné príkazy pre vytvorenie zálohy a obnovenie databázy pomocou MySQL mysqldump K dispozícii je:

V týchto príkazoch:

-u– parameter, ktorý určuje prihlasovacie meno používané v tomto prípade na pripojenie k databáze;

-p– parameter, ktorý určuje heslo používateľa pre toto prihlásenie. Ak po tomto parametri nezadáte heslo, po spustení príkazu ho budete musieť zadať dodatočne;

[názov databázy]– názov databázy, ktorej záložnú kópiu je potrebné vytvoriť;

[názov_súboru_záložnej_databázy].sql– používateľ môže zadať ľubovoľný vhodný názov súboru zálohy databázy. Ak zadáte názov súboru ako v uvedenom príklade, vytvorí sa záložná kópia databázy v priečinku, z ktorého bol príkaz spustený, a to:
C:\Program Files\MySQL\MySQL Server 5.7\bin

Ak chcete uložiť zálohu databázy do iného priečinka, pred názvom súboru zálohy databázy v príkaze musíte zadať cestu k takému priečinku. V tomto prípade budú príkazy na vytvorenie a obnovenie zálohy databázy vyzerať takto:

# mysqldump -uroot -pqwerty my_db C:\Users\Valery\Documents\MySQL_Backup\my_db-dump1.sql
# mysql -uroot -pqwerty my_db C:\Users\Valery\Documents\MySQL_Backup\my_db-dump1.sql


Ako zálohovať databázu MySQL

Ak chcete vytvoriť záložnú kópiu jednej databázy, stačí použiť štandardný príkaz popísaný vyššie:

# mysqldump –u[používateľ] –p[heslo_používateľa] [názov_databázy] [názov_záložného_súboru databázy] .sql

Napríklad:

# mysqldump -uroot -pqwerty my_db > my_db-dump1.sql

Zálohujte viacero databáz

Pred zálohovaním viacerých databáz naraz zistite prítomnosť databáz.

Ak to chcete urobiť, zadajte príkaz zobraziť databázy(v pracovnom stole)

alebo # mysqlshow –uroot -p(v konzole).


Ak potrebujete zálohovať viacero databáz súčasne (napr. moja_db A test), potom na to musíte spustiť nasledujúci príkaz:

# mysqldump -uroot -pqwerty –databases test my_db my_db_test_backup.sql

Zálohovanie všetkých databáz

Ak je potrebné vytvoriť zálohu všetkých databáz vo vašom profile MySQL, môžete to urobiť pomocou parametra – všetky databázy.

# mysqldump -uroot -pqwerty – všetky databázy all-databases_backup.sql

Zálohujte jednu tabuľku

Môžete tiež zálohovať individuálnu databázovú tabuľku. V prípade, že potrebujete vytvoriť kópiu tabuľky wp_commentmeta z databázy moja_db, potom bude príkaz vyzerať takto:

# mysqldump -uroot -p my_db wp_commentmeta table_ my_db-wp_commentmeta.sql

Poznámka. Ak chcete zobraziť zoznam databázových tabuliek, zadajte príkaz:
#mysqlshow –uroot –p my_db


Ako obnoviť databázu MySQL zo zálohy

Obnovenie databázy MySQL zo zálohy vytvorenej ktoroukoľvek z vyššie opísaných metód môžete použiť jednu štandardnú metódu, ktorá je popísaná na začiatku článku.