Esegui il backup di MySQL utilizzando PHP

È sempre buona norma eseguire un backup regolare del database. Ci sono tre modi che puoi usare per eseguire il backup del tuo database MySQL.

  • Utilizzo del comando SQL tramite PHP.
  • Utilizzando MySQL binario mysqldump tramite PHP.
  • Utilizzo dell'interfaccia utente di phpMyAdmin.

Utilizzo del comando SQL tramite PHP

È possibile eseguire il comando SQL SELECT per eseguire un backup di qualsiasi tabella. Per eseguire un dump del database completo, sarà necessario scrivere una query separata per una tabella separata. Ogni tabella verrà archiviata in un file di testo separato.

Esempio

Prova il seguente esempio di utilizzo della query SELECT INTO OUTFILE per la creazione del backup della tabella:

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
	
   $table_name = "employee";
   $backup_file  = "/tmp/employee.sql";
   $sql = "SELECT * INTO OUTFILE '$backup_file' FROM $table_name";
   
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not take data backup: ' . mysql_error());
   }
   
   echo "Backedup  data successfully\n";
   
   mysql_close($conn);
?>

Potrebbero verificarsi casi in cui è necessario ripristinare i dati di cui è stato eseguito il backup qualche tempo fa. Per ripristinare il backup è sufficiente eseguire la query LOAD DATA INFILE in questo modo:

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
	
   $table_name = "employee";
   $backup_file  = "/tmp/employee.sql";
   $sql = "LOAD DATA INFILE '$backup_file' INTO TABLE $table_name";
   
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not load data : ' . mysql_error());
   }
   echo "Loaded  data successfully\n";
   
   mysql_close($conn);
?>

Utilizzando MySQL binario mysqldump tramite PHP

MySQL fornisce un'utilità mysqldumpper eseguire il backup del database. Utilizzando questo binario è possibile eseguire il dump completo del database in un unico comando.

Esempio

Prova il seguente esempio per eseguire il dump completo del database:

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   
   $backup_file = $dbname . date("Y-m-d-H-i-s") . '.gz';
   $command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass ". "test_db | gzip > $backup_file";
   
   system($command);
?>

Utilizzo dell'interfaccia utente di phpMyAdmin

Se hai phpMyAdmin interfaccia utente disponibile, quindi è molto facile eseguire il backup del database.

Per eseguire il backup del database MySQL utilizzando phpMyAdmin, fare clic sul collegamento "esporta" nella pagina principale di phpMyAdmin. Scegli il database di cui desideri eseguire il backup, seleziona le opzioni SQL appropriate e inserisci il nome per il file di backup.