Pour les offres Hébergement Linux avec bases de données

Dans cet article, nous vous présentons deux scripts PHP pour sauvegarder et restaurer vos bases de données MySQL ou MariaDB.

Attention

Pour les sauvegardes de données de plus d'1 Go (gigaoctet), la procédure de sauvegarde Restauration via l'accès SSH doit être effectuée. Dans le cas contraire, la restauration échoue en raison d'un dépassement de temps.

Sauvegarder la base de données

Le script PHP suivant crée un dump SQL. Il s'agit d'un fichier texte contenant toutes les données et instructions nécessaires à la restauration de la base de données au format SQL.

<?php
//Entrez ici les informations de votre base de données et le nom du fichier de sauvegarde.
$mysqlDatabaseName ='nom de la base de données';
$mysqlUserName ='Nom dutilisateur';
$mysqlPassword ='Mot de passe';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlExportPath ='nom-du-fichier-dexport.sql';

//Veuillez ne pas modifier les points suivants
//Exportation de la base de données et résultat
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ' .$mysqlExportPath;
exec($command,$output,$worked);
switch($worked){
case 0:
echo 'La base de données <b>' .$mysqlDatabaseName .'</b> a été stockée avec succès dans le chemin suivant '.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 1:
echo 'Une erreur s est produite lors de la exportation de <b>' .$mysqlDatabaseName .'</b> vers'.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 2:
echo 'Une erreur d exportation s est produite, veuillez vérifier les informations suivantes : <br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
break;
}
?>

Voici comment sauvegarder votre base de données à l'aide du script PHP:

  • Créez un nouveau fichier texte sur votre PC avec un éditeur et copiez le code PHP ci-dessus.
  • Entrez les données d'accès à votre base de données aux endroits appropriés dans le code et enregistrez le script avec l'extension de fichier .php.

Consulter dans mon compte IONOS les données d'accès à ma base de données

  • Chargez le fichier sur votre espace web dans le répertoire associé à votre domaine.
  • Exécutez le script en consultant l'adresse Internet dans le navigateur Internet, par exemple dans le format http://votredomaine.fr/nomduscript.php.
Remarque

Si vous utilisez l'option de configuration safe_mode = on, il est nécessaire de désactiver le safe_mode pour exécuter le script. Les anciennes bases de données peuvent aussi s'appeler dbxx.puretec.de.

Un dump SQL est maintenant créé et stocké dans le répertoire du script avec le nom spécifié dans le script. Vous pouvez ensuite archiver le fichier sur votre PC.

Restaurer la base de données

Le script suivant vous montre comment importer des sauvegardes existantes sous forme de fichiers .sql dans votre base de données :

<?php
//Entrez les informations de votre base de données et le nom du fichier de sauvegarde.
$mysqlDatabaseName ='nom de la base de données';
$mysqlUserName ='nom d utilisateur';
$mysqlPassword ='mot de passe';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlImportFilename ='Nom-de-fichier-de-sauvegards.sql';

//Veuillez ne pas modifier les points suivants
//Importation de la base de données et résultat
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output,$worked);
switch($worked){
case 0:
echo 'Les données du fichier <b>' .$mysqlImportFilename .'</b>ont été importées avec succès dans la base de données. <b>' .$mysqlDatabaseName .'</b>';
break;
case 1:
echo 'Une erreur s est produite lors de l importation. Veuillez vérifier si le fichier se trouve dans le même dossier que ce script. Vérifiez également à nouveau les données suivantes.:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Dateiname:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
break;
}
?>