Come fare il backup di un database?



ATTENZIONE: Questi salvataggi funzionano soltanto sulle tabelle MyISAM. Le tabelle InnoDB non sono in effetti compatibili con il sistema di snapshot che utilizziamo.

A volte è necessario fare un salvataggio del vostro database, occorre munirsi dei propri codici d'accesso sql:

  • login che è anche il nome del database;

  • password;

  • l'host sql.


Attenzione! Il nome del database prende il suffisso -n per il database della notte precedente e -s per il salvataggio d'inizio settimana.


Creare i file dump

Esistono 5 modi per effettuare il vostro dump (salvataggio del database):

1. Dal manager
Questa soluzione è raccomandata quando il dump ha una dimensione molto importante, per ordinare l'invio di un dump occorre:


  • cliccate sul vostro dominio;

  • cliccate quindi, nel menù di sinistra su, Hosting ;

  • cliccate successivamente sull'icona Gestione SQL ;

  • cliccate, quindi sull'icona di Salvataggio .

  • Scegliete il database da esportare, la data del salvataggio e cliccate su Confermare.




ATTENZIONE: ricordate che il salvataggio dei dump avviene in 2 momenti, quindi il recupero segue regole particolari. Potete recuperare i vostri dati al momento attuale, in questo caso scegliete copia attuale, dal dump del giorno precedente e dal dump di inizio settimana, effettuato la domenica sera.

Una volta confermato, occorre pazientare una decina di minuti, il tempo necessario al ripristino del dump, in seguito riceverete un mail con un link e le credenziali che vi permettono di trasferire il file di salvataggio (dump).


2. Tramite PhpMyadmin

Per salvare i vostri dati SQL, potete anche utlizzare PhpMyAdmin.
Questa soluzione è interessante poiché accessibile a tutti. Tuttavia, se il vostro database è troppo esteso, dovrete esportarlo tabella per tabella.

Avete a disposizione due soluzioni:

  • potete installare PhpMyAdmin, in questo modo potrete utilizzare l'ultima versione, come indicato nell'apposita guida relativa all'Installazione di PhpMyAdmin;

  • tramite la vostra interfaccia, a disposizione a questo indirizzo: ilvostrohosting.ovh.net/phpMyadmin.



Come effettuare questo dump?

- identificatevi su phpmyadmin, inserendo il vostro nome utente, la vostra password, e scegliendo l'host sql nel menù a tendina,



- inseguito cliccate nel menù a sinistra sul nome del vostro database,
- poi cliccate su Esportare nella pagina in alto a destra,



- poi scegliete le vostre tabelle, cliccate sulla casella trasmettere e cliccate infine su confermare.



Potrete così trasferire il vostro dump.


3. Tramite script PHP

Questa soluzione è interessante, poiché vi consente di importare dump importanti ed è accessibile a tutti gli hosting.

Bisogna quindi editare uno script php :

Nota: Negli script qui sotto, sostituite nome_database.sql con il nome del vostro file, server_sql con il nome del server sul quale il vostro database è installato, nome_database con il nome del vostro database e passWord con la password associata al vostro database.


In php

(backupdatabase.php):

<?
echo "Votre base est en cours de sauvegarde.......

";
system("mysqldump --host=server_sql --user=nome_del_database --password=password_database nome_del_database > nom_de_la_base.sql");
echo "C'est fini. Vous pouvez récupérer la base par FTP";
?>


In Perl

(backupdatabase.cgi):
#!/usr/bin/perl
print "Il vostro database è in corso di salvataggio...";
system("mysqldump --host=server_sql nome_database --user=nome_database --password=password_database > nome_database.sql");
print "Terminato. Potete recuperare il database tramite FTP";


Questo comando genererà un file nome_database.sql nella cartella dove lo script è posizionato.
In questo file troverete tutte le istruzioni SQL per ricreare il database così com'era in occasione del salvataggio, con tutti i suoi dati.
Per eseguirlo, lanciate sul vostro browser questa URL:

http://vostrdominio.com/percorso_script/backupdatabase.php/cgi

Osservazione 1: Se il vostro database è troppo grande, potete fare un dump tabella per tabella aggiungendo l'opzione --tables nome_tabella alla fine per avere questo comando:

mysqldump --host=server_sql --user=nome_database --password=password_database --tables nome_tabella > nome_database.sql


Osservazione 2: Potete anche comprimere questo file per meglio trasferirlo sul vostro computer (tramite FTP o dal web).
Per comprimere il file, eseguite il comando gzip che creerà il file con l'estensione .sql.gz:

system("gzip nome_del_database.sql");



Esempi

In PHP

echo "Il vostro database è in corso di salvataggio...";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
echo "Compressione del file...";
system("gzip testbackup.sql");
echo "Terminato. Potete recuperare il database tramite FTP";
?>


In Perl

#!/usr/bin/perl
print "Il vostro database è in corso di salvataggio...";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
print "Compressione del file...";
system("gzip testbackup.sql");
print "Terminato. Potete recuperare il database tramite FTP";


Eseguibile grazie alla URL:

http://testbackup.com/backupdatabase/backupdatabase.php/cgi


4. Tramite SSH

Per le offerte di Hosting OVH e per le vecchie offerte Plan (90, 240,720, media e xxl), potete effettuare il backup dei vostri database direttamente da SSH.
Collegatevi in SSH al vostro spazio FTP, quindi accedete alla cartella dove desiderate conservare il salvataggio e lanciate questo comando:

mysqldump --host=server_sql nome_database --user=nome_database --password=password_database > nome_database.sql


Esempio

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