Tárhely Zenon n
Ön dolgozik a webes projekt, mely egy adatbázis MySQL. Természetesen minden komoly projekt azt sugallja, hogy időről időre hozzon létre egy biztonsági másolatot az összes felhasznált adatok a munkát. Ez a de facto standard módszer. Sőt, e nélkül lehetetlen folyamatosságának biztosítása a látogatók a webhelyen. Ha a webhely üzleti szolgáltatásokat nyújt, a rendelkezésre álló tartalék egy egyenesen szükségszerű.
Készítsen másolatot az összes statikus HTML-és egyéb dokumentumok egyszerű. Azt is könnyű, hogy rendszeresen „elhalasztja az egyik oldalon”, és egy másolatot a forgatókönyvet. Sokkal nehezebb a feladata másolatot készíthet (a továbbiakban: mentés) dinamikus struktúra MySQL adatbázis adatait. A fő nehézséget, hogy merül fel, mielőtt a rendszergazda helyezni egy ellenséges telek, általában a következők:
1. Nincsenek fizikai hozzáférést az adatbázis fájlokat. Általában tárhely szolgáltató kínál a lehetőséget, hogy az adatbázis csak a speciális szkriptek vagy mysql-kliens, de nem ad közvetlenül hozzáférni a fájlokat, amelyek tartalmazzák az adatokat MySQL-adatbázist.
2. Az a tény, a rendszergazda ismeretek arról, hogyan kell csinálni kell tennie mentés. Ez a probléma általában csak akkor jelentkezik, ha a „nehéz időkben.” Azaz, meghibásodás esetén, az invázió a hackerek vagy egyéb vészhelyzetek. Webmesterek egyszerűen nem áll készen az azonnali mentés és kezdődik kétségbeesetten, hogy tanulmányozza a dokumentációt MySQL, az idő múlásával.
Hogyan készítsünk egy MySQL adatbázis
Ott mysqldump programot. Ez lehetővé teszi, hogy gyorsan és könnyen végre műveleteket biztonsági másolatot készíteni a MySQL adatbázisok. Mysqldump azt is lehetővé teszi, hogy nagyon finom beállításokat kezelni létrehozásának folyamatát adatbázis mentést, illetve az egyedi asztal. Elmondhatjuk, hogy a mysqldump - a fő eszköze van arra az esetre, ha nem hát MySQL.
Azonnal vegye egy egyszerű feladat, hogy megoldódik a segítségével a mysqldump, és mi az, ami. Vannak web hosting, ott DBNAME adatbázist, amit kiosztott tárhely szolgáltató. Ott otthont a HOST, amely kiszolgálja a MySQL szerver, belépés belépés, akkor az a port, amelyen a szerver fut, és a jelszó PASS. Mindezekkel adatokat nézzük, lerakó (lerakó, másolás) bázis DBNAME így (végre Unix shell):
> Mysqldump -uLOGIN -PPORT -hHOST -pPASSDBNAME> dump.txt
Végrehajtása után ezt a parancsot dump.txt fájlban lesz egy példányát MySQL-adatbázis DBNAME. Ez csak akkor történhet meg, ha, persze, ha minden paramétert megadott igaz, a beállítások szerint azok hosting. Azonnal meg kell mondanom, hogy a program mysqldump kimenetet eredményeket közvetlenül az Ön számára STDIN, hogy van, a képernyőn. Meg kell átirányítani a kimenetet egy fájlba. Például, mint ebben az esetben - „> dump.txt”. Ha ez nem történik meg, és a nagy bázis, eljut a képernyőn mindazok megabájt információkat tartalmaz.
Beszélgetünk egy kicsit arról, hogy mi teszi a mysqldump. Ez a program létrehoz egy visszaállítási az adatok forgatókönyv. Azaz, a kimenet a mysqldump - ez nem valami elvont és olvashatatlan bináris adatok, valamint intelligens script szöveget. Például, ha az adatbázis tartalmaz egy táblázatot vizsgálat volt, amely területen test2 adattípus integer és egy kód: „1111”, akkor mysqldump jön létre ezt a helyzetet:
Így mysqldump „leírják” minden asztal, és hozzon létre INSERT-irányító visszaállítani az adatokat a táblázatokban. Tehát átirányítjuk a mysqldump kimenetet egy szöveges fájl, amely aztán majd lehet visszaállítani. Vegyünk egy folyamat - a rekonstrukció a bázis biztonsági mentés.
Visszaállítani a program a szabványos mysql, ami benne van MySQL csomag mysqldump. Tegyük fel, hogy egy biztonsági másolatot a dump.txt fájlt. Meg kell visszaállítani azt egy működő alap. Például, mi véletlenül törli adatbázisunkban és most próbálják kijavítani ezt a balszerencse. Mi is teszik.
> MySQL -uLOGIN -PPORT -hHOST -pPASSDBNAME”, mint akkor - ez a kulcs.
Egy másik nagyon hasznos tanácsokat a használata mysqldump az ellenséges környezetben. Általában, ha a tárhely a felhasználó bizonyos korlátozások. Például, nem lehet több, mint egy bizonyos mennyiségű fizikai memória (RAM, RAM). mysqldump alapértelmezés helyezi az összes kapott MySQL-szerver adatokat a memóriába, majd kiírja az összes lemezen. Ennek megfelelően, ha a szolgáltató adja, amely például, 30MB memória, és a bázis, amelynek egy példányát akkor használja a mysqldump elfoglalja, 50MB, persze, van egy hiba - mysqldump nem fog megfelelően működni, és sikertelen lesz, mi fog mondani. „Get” a mysqldump írni az adatokat közvetlenül a lemezre, hanem tárolja őket, akár ideiglenesen is, a memóriában, a gomb --quick. Ez meg fogja oldani a problémát.
Ha az adatbázis egy nagy összeg, akkor azonnal archiválja a lerakó, valamint a csökkentés a bázis át mysql adatok az archívumból, például az alábbiak szerint:
Egyes szolgáltatók szabhat határt a megengedett maximális fájlméretet, amely működtethető a felhasználó által. Nagyon nagy mennyiségű adatkiírás fájl mérete meghaladja ezt a határt. Ebben az esetben a bázis számhordozás lehetséges, hogy nem dump és fut egyenesen mysqldump és a mysql parancsot:
Backup Automation
Most gondolj, hogy hogyan tudnánk automatizálni létrehozásának folyamatát adatbázis mentést. Tehát, van egy program - cron. Ez lehetővé teszi, hogy fut a folyamat a felhasználó által meghatározott időpontokban vagy meghatározott időközönként. Azonnal adja - cron általában létezik csak a Unix, így ha használ tárhely a Windows, ellenőrizze a tárhelyszolgáltató hogyan lehet a legjobban, ha az eljárást a megfelelő időben. Különben is, talán ez a tétel lesz az érdeklődés csak a UNIX-felhasználók számára.
A Unix shell fut crontab -e, és hozzon létre egy szabályt, ha az eljárást a másolatot készítenie az adatbázist:
0 0 * * * / usr / local / bin / mysqldump -uLOGIN -PPORT -hHOST -pPASSDBNAME | gzip -c> `date "+ \% Y - \% m - \."` .gz
/ Directory-with-archívum -name „* .gz” -mtime 7, akkor törli a fájlokat, amelyek az „idősebb” hét napig. Olvasd el a dokumentációt a lelet - ez áll az ember megtalálja parancs UNIX shell.