Sauvegarder des tables individuellement avec MysqlDump
Script de sauvegarde de base de données MySQL en PHP
<?php
// Informations de connexion à la base de données
$hostname = 'localhost'; // Remplacez par le nom du serveur MySQL
$username = 'votre_utilisateur'; // Remplacez par votre nom d'utilisateur MySQL
$password = 'votre_mot_de_passe'; // Remplacez par votre mot de passe MySQL
$database = 'votre_base_de_donnees'; // Remplacez par le nom de votre base de données
// Tables que vous souhaitez sauvegarder (séparées par des espaces)
$tables_to_backup = 'table1 table2 table3';
// Obtenir la date actuelle au format année-mois-jour (par exemple, 2023-10-24)
$date = date("Y-m-d");
// Nom du fichier de sauvegarde avec la date
$backup_file = "C:/chemin/vers/votre/sauvegarde_$date.sql";
// La commande pour effectuer la sauvegarde des tables spécifiques
$command = "C:/wamp64/bin/mysql/mysql8.0.31/bin/mysqldump --host=$hostname --user=$username --password=$password $database $tables_to_backup > $backup_file";
// Exécution de la commande
if (system($command) === false) {
echo "Erreur lors de l'exécution de la commande. La sauvegarde a échoué.";
} else {
// Configuration des en-têtes HTTP pour le téléchargement du fichier
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=$backup_file");
readfile($backup_file); // Lire et envoyer le fichier au navigateur
exit;
}
?>
Pour cette ligne :
$command = « C:/wamp64/bin/mysql/mysql8.0.31/bin/mysqldump –host=$hostname –user=$username –password=$password $database $tables_to_backup > $backup_file »;
Il faut vérifier la version la version de MySQL, ici c’est la « 8.0.31 » et adapter en conséquence. Si c’est sur un serveur distant (en ligne) vous n’avez pas besoin de spécifier le chemin, comme ci-dessous.
$command = »mysqldump –host=$hostname –user=$username –password=$password $database $tables_to_backup > $backup_file »;
Cette ligne ci-dessous sauvegarde une copie du fichier des tables sélectionné à l’endroit choisis dans un dossier, si c’est en ligne ce sera dans un dossier du serveur.
$backup_file = « C:/chemin/vers/votre/sauvegarde_$date.sql« ;
et ces lignes ci-dessous ça télécharge le fichier.
header(‘Content-Type: application/octet-stream’);
header(« Content-Disposition: attachment; filename=$backup_file »);
readfile($backup_file);