Paieška


print PDF

Kaip padaryti atsarginę duomenų bazės kopiją?


Dėmesio: Šios atsarginės kopijos veikia tik su MyISAM. lentelėmis. InnoDB lentelės nesuderinamos su mūsų naudojama momentinių kopijų sistema.

Kartais būtina daryti atsargines duomenų bazės kopijas. Jums reikės šių duomenų bazės prisijungimo duomenų:
- Prisijungimo vardas: duomenų bazės pavadinimas,
- Slaptažodis: duomenų bazės slaptažodis,
- SQL mazgas: kompiuteris, kuriame yra duomenų bazė.

Kopiją galite atlikti 4 būdais:

1. Tvarkytuve

Šį variantą rekomenduojame tada, kai žinomas duomenų bazės kopijos dydis, norėdami užsakyti kopijos atsiuntimą:

- Prisijunkite prie savo tvarkytuvo,
- Spragtelėkite domeną,
- Kairiajame meniu spragtelėkite „Svetainių priegloba“,
- Po to spragtelėkite „SQL valdymas
- „Valdymo“ skyriuje spragtelėkite „Atsarginė kopija“



- Pasirinkite duomenų bazę, kurios kopiją norite gauti, po to pasirinkite kopijos datą ir spragtelėkite mygtuką „Patvirtinti“.

Galite gauti 3 tipų kopiją:

- Dienos: tokiu atveju rinkitės „Dabartinė kopija“,
- Vakarykščios dienos,
- Savaitės pradžios, kopijavimas atliekamas sekmadienio naktį.

Kai patvirtinsite, po maždaug dešimties minučių kopija bus įkelta ir el. paštu gausite nuorodą su prisijungimo vardu, iš kur galėsite pasiimti savo duomenų bazės kopiją (dump).

2. Naudojant PhpMyadmin

Duomenų bazės saugojimui galite naudoti ir PhpMyAdmin, šis sprendimas prieinamas visiems. Tačiau, jeigu jūsų duomenų bazė yra labai didelė, turėsite eksportuoti lenteles vieną po kitos.

Galimi 2 būdai:

- Galite patys įsidiegti phpmyadmin, jums padės PhpMyAdmin diegimo vadovas, turėsite naujausią programos versiją,
- Naudodami savo sąsają, kurią pasieksite adresu: jusupriegloba.ovh.net/phpMyadmin.

Kaip padaryti kopiją?

- Prisijunkite prie phpmyadmin ir pasirinkite teisingą SQL mazgą:



- kairiajame meniu spragtelėkite savo duomenų bazę,
- Puslapio viršuje spragtelėkite Export.



- Po to pasirinkite lenteles ir spragtelėkite Go.



Po to galėsite parsisiųsti savo kopiją.

3. Naudodami PHP scenarijų

Tai gan įdomus sprendimas, kadangi tai leidžia gauti daug kopijų ir pasiekiamas iš bet kurios prieglobos;

Norėdami naudoti scenarijų, pakeiskite duotą php kodą:

Toliau pateiktuose koduose pakeiskite šiuos parametrus:
- data_base_name savo failo pavadinimu
- sql_server serveriu, kuriame saugoma duomenų bazė
- data_base_name savo duomenų bazės pavadinimu
- pass_word duomenų bazės pavadinimu.


PHP kalba (backupbase.php):

<?
echo "Vykdomas duomenų bazės kopijavimas.......

";
system("mysqldump --host=server_sql --user=base_name --password=pass_word
base_name>base_name.sql");
echo "Baigta. failą galite pasiimti naudodami FTP";
?>

Perl kalba (backupbase.cgi) :

#!/usr/bin/perl

print "Vykdomas duomenų bazės kopijavimas.......

";
system("mysqldump --host=server_sql --user=base_name --password=pass_word
base_name>base_name.sql");
print "Baigta. failą galite pasiimti naudodami FTP";

Šis scenarijus sukurs failą base_name.sql, kuris bus išsaugotas tame pačiame kataloge, kur saugomas scenarijus.

Šiame faile bus visos SQL instrukcijos, reikalingos duomenų bazės atkūrimui į tašką kai buvo daryta kopija.

Norėdami paleisti atkūrimą, naršyklės lange įveskite:
"http://jusudomenas.com/kelias_iki_scenarijaus/bacupbase.php/cgi"

Komentaras nr. 1: Jeigu duomenų bazė per didelė, darydami duomenų bazės kopiją turėsite kopijuoti lenteles vieną po kitos: "--tables table_name" at the end to get this command: mysqldump --host=server_sql --user=base_name --password=pass_word base_name --tables base_name>base_name.sql

Komentaras nr. 2: Galite suarchyvuoti failus, kad vėliau persiųstumėt jį į savo AK .
Archyvavimui sužadinkite gzip komandą, ji sukurs failą su plėtiniu .sql.gz:
system ("gzip base_name.sql");


Pavyzdžiui:

PHP kalba :

<?
echo "Vykdomas duomenų bazės kopijavimas.......

";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
echo "Archyvavimas.....

";
system("gzip testbackup.sql");
echo "Baigta. failą galite pasiimti naudodami FTP";
?>

Perl kalba :

#!/usr/bin/perl

print "Vykdomas duomenų bazės kopijavimas.......

";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
print "Archyvavimas.....

";
system("gzip testbackup.sql");
print "Baigta. failą galite pasiimti naudodami FTP";

Po to paleiskite scenarijų naudodami nuorodą: "http://jusudomenas.com/kelias_iki_scenarijaus/backupbase.php/cgi"


4. Per SSH

Jeigu turite SSH prieigą, atsarginę kopiją galite pasidaryti SSH aplinkoje;

Naudodami SSH prisijunkite prie FTP serverio ir pereikite į katalogą, kuriame norite išsaugoti kopijos failą. Po to įvukdykite komandą:

mysqldump --host=server_sql --user=base_name --password=pass_word
base_name>base_name.sql

Pavyzdžiui:

mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql