Kaip padaryti atsarginę duomenų bazės kopiją?
Š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