Szukaj


drukuj pdf
Jak odzyskać kopię zapasową swojej bazy SQL poprzez skrypt?

Najpierw musisz zaopatrzyć się w kody dostępu do bazy danych, której kopię zapasową chcesz uzyskać ( otrzymałeś je w emailu po utworzeniu bazy).

Po otrzymaniu parametrów możesz edytować skrypt, którego kod jest następujący:

UWAGA: W niniejszym skrypcie zastąp nom_de_la_base.sql nazwą pliku, serveur_sqlnazwą serwera, na którym zainstalowana jest baza, nom_de_la_base nazwą bazy danych a mot_de_passe hasłem przypisanym do bazy.

W PHP (backupbase.php)
<?
echo "Kopia twojej bazy danych jest właśnie wykonywana.......
<br>";
system("mysqldump --host=serwer_sql --user=nazwa_bazy --password=hasło nazwa_bazy > nazwa_bazy.sql");
echo "Skończone. Możesz odzyskać bazę poprzez FTP";
?>


W PERLU (backupbase.cgi)
#!/usr/bin/perl

print "Kopia twojej bazy danych jest właśnie wykonywana.......
<br>";
system("mysqldump --host=serwer_sql --user=nazwa_bazy --password=hasło nazwa_bazy > nazwa_bazy.sql");
print "Skończone. Możesz odzyskać bazę poprzez FTP";


Ta komenda wygeneruje plik nazwa_bazy.sql w katalogu, w którym umieszczony jest skrypt. W pliku tym znajdziesz instrukcje SQL niezbędne do odtworzenia bazy w takiej formie, w jakiej jest ona podczas tworzenia kopii zapasowej, ze wszystkimi swoimi danymi.
Aby wykonać ten skrypt, wpisz w przeglądarce ten adres :

http://twojadomena.com/ścieżka_do_skryptu/backupbase.php



Jeśli Twoja baza jest zbyt duża
  • Możesz wykonać dump tabela po tabeli, dodając opcję "--tables nazwa_tabeli" na końcu :

mysqldump --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe nom_de_la_base --tables nom_de_la_table > nom_de_la_base.sql


  • Możesz także skompresować ten plik, aby lepiej go pobierać na swoim komputerze (przez FTP lub www):

W tym celu wykonaj komendę gzip. Zostanie utworzony plik z rozszerzeniem .sql.gz :

system("gzip nom_de_la_base.sql")


Przykład w PHP

<?
echo "Kopia twojej bazy danych jest właśnie wykonywana..............
<br>";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
echo "Pakowanie pliku.....
<br>";
system("gzip testbackup.sql");
echo "Skończone. Możesz odzyskać bazę poprzez FTP";
?>


Przykład w Perlu

#!/usr/bin/perl

print "Kopia twojej bazy danych jest właśnie wykonywana.......
<br>";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
print "Pakowanie pliku.....
<br>";
system("gzip testbackup.sql");
print "Skończone. Możesz odzyskać bazę poprzez FTP";