Vous trouverez dans ce guide différentes manières d'exporter votre base de données depuis nos serveurs.

Cliquez ici pour retrouver nos différents guides des offres d'hébergement mutualisé.

Généralités

.

Pré-requis

Vous devez avoir en votre possession :

  • Un accès à votre espace client.

  • Votre identifiant et le mot de passe de la base de données SQL ainsi que l'hôte sql qui vous permettent de vous y connecter.
  • Un guide est disponible concernant la récupération des identifiants SQL :Mutualisé : mettre mon site en ligne

Vous trouverez dans la suite de ce guide différentes méthodes afin de réaliser vos exports de base de données.

Exportation

.

Depuis l'espace client

Il vous est possible de récupérer la copie de votre base de données depuis l'espace client.

Ceci est la méthode la plus simple et la plus rapide afin de réaliser l'exportation de votre base de données.

Vous devez dans un premier temps vous connectez à l'espace client.

Une fois connecté à l'espace client, sélectionnez votre nom de domaine.
Étape 1
Dans la partie "Mutualisé" rendez-vous dans "Hébergement" puis sélectionnez "Gestion SQL".

En fonction de la taille de votre base de données, la création de la sauvegarde de votre base peut être plus ou moins longue.
Étape 2
Sélectionnez ensuite "Sauvegarde".

La liste des bases de données apparaît dans le tableau (cf. screen ci-contre).
Étape 3
Vous devez ensuite sélectionner la base de données pour laquelle vous souhaitez réaliser le backup.

Choisissez ensuite la date de sauvegarde que vous désirez récupérer.

Trois dates de sauvegarde sont récupérables :

  • copie actuelle : copie de la base de données à l'instant T.

  • Hier : copie de la base de données de la nuit (J-0), la sauvegarde récupérée est réalisés aux alentours de 3h du matin.

  • Semaine dernière : copie de la base de données à J-7, la sauvegarde récupérée est réalisée aux alentours de 3h du matin.

Cliquez sur "Valider" pour lancer le rapatriement de votre sauvegarde SQL.

Une fois validé, il vous faut patienter le temps que votre dump* soit rapatrié, ensuite vous recevrez un mail avec un lien permettant de télécharger le fichier de sauvegarde (dump).

Voici un exemple du sujet de l'e-mail reçu :

[OVH-SQL] ted-kac.fr - Dump de votre base: tedkacmod1

Un lien vers le backup sera disponible dans l'e-mail. La sauvegarde de votre base sera disponible sur un serveur distant pendant une durée de 48 heures.

Le fichier reçu sera compressé, il est conseillé de le décompresser avant d'importer votre fichier de sauvegarde SQL.
.

Depuis PhpMyAdmin

Si vous souhaitez réaliser l'exportation de la base de données depuis PhpMyAdmin.

Vous devez dans un premier temps vous connecter sur l'interface de PhpMyAdmin.
Exportation Rapide
Une fois connecté, sélectionnez votre base de données (cf. cadre bleu screen ci-contre).

Rendez-vous ensuite dans "Exporter".

L'exportation rapide ne vous permet que de choisir le format concernant l'importation de votre base de données.

Voyons dans la seconde partie l'exportation personnalisée qui sera plus complète.
Exportation personnalisée
Une fois connecté, sélectionnez votre base de données.

Rendez-vous ensuite dans "Exporter".

Sélectionnez "Personnalisée - afficher toutes les options possibles".

Différentes options vont apparaître.

Table(s) :

Il vous est possible de sélectionner la totalité ou une partie des tables que vous souhaitez exporter.

Cela peut être intéressant lorsque votre base de données est très imposante, vous pouvez exporter puis importer votre base de données en plusieurs fois.

Sortie :

Il vous est possible de définir ici si vous souhaitez générer votre sauvegarde SQL dans un fichier externe, ou afficher directement le résultat de la requête qu'il faudra copier.

Format :

Définissez le format d'exportation de votre base de données. Il est conseillé de laisser SQL.

Options spécifiques au format :

Il vous est possible de définir ce que vous souhaitez exporter de la table.
Soit uniquement les structures ou les données, ou alors exporter les deux.
Il est conseillé de renseigner "structure et données".

Options d'exportation :

Sélectionnez l'option d'exportation "Aucun des modes ci-dessus" afin d'éviter l'erreur associé au "Max_Allowed_Packet".

Ne seront vues dans ce guide que les options les plus importantes.

Afin de lancer l'exportation, cliquez sur "Exécuter".
Sauvegarde du fichier .sql
Un lien vers votre dump* va ainsi pouvoir être téléchargé.

Enregistrez le fichier que PhpMyAdmin vous propose de télécharger.
Sauvegarde antérieure
  • Il est possible depuis PhpMyAdmin de récupérer la sauvegarde de la nuit et de la semaine dernières en rajoutant uniquement -n et -s après le nom d'utilisateur de la base SQL (dbname).
Cependant, si je veux le back-up de la semaine dernière et que j'ai modifié mon mot de passe il y a 3 jours, je devrais me connecter avec l'ancien mot de passe et non le nouveau.

Exemple :

si je souhaite le backup de la nuit, mon identifiant sera tedkaccms-n

si je souhaite le backup de la semaine dernière, mon identifiant sera tedkaccms-s
.

En utilisant un script

Il vous est possible de créer ces scripts dans un fichier txt. Vous devrez leur donner l'extension correspondant au langage utilisé.

Cette solution est intéressante, car elle vous permet d'exporter des dumps* importants et est accessible pour tous les hébergements mutualisés.

Dans les scripts ci-dessous, remplacez :

  • nom_de_la_base.sql par le nom de votre fichier.

  • serveur_sql par le nom du serveur sur lequel votre base de données est créé .

  • nom_de_la_base par le nom de votre base de données.

  • mot_de_passe par le mot de passe associé à votre base de données.

  • Votre fichier de sauvegarde devra être au préalable déposé sur l'hébergement en FTP.

    En php (backupbase.php) :
    Le code à renseigner et à compléter :

    <?
    echo "Votre base est en cours de sauvegarde.......";
    system("mysqldump --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe nom_de_la_base > nom_de_la_base.sql");
    echo "C'est fini. Vous pouvez récupérer la base par FTP";
    ?>

    En perl (backupbase.cgi) :
    Le code à renseigner et à compléter :

    #!/usr/bin/perl
    print "Votre base est en cours de sauvegarde.......";
    system("mysqldump --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe nom_de_la_base > nom_de_la_base.sql");
    print "C'est fini. Vous pouvez récupérer la base par FTP";

  • Uploadez via FTP le script que vous avez créé dans le répertoire www de votre hébergement, et appelez votre script avec le navigateur via cette url : http://votre_domaine.com/backupbase.php

Remplacez votre_domaine.com par votre nom de domaine et backupbase.php par le nom de votre fichier.

Cette commande générera un ficher nom_de_la_base.sql dans le répertoire où le script est placé.

Dans ce fichier, vous trouverez toutes les instructions SQL pour recréer la base telle qu'elle était lors de la sauvegarde avec l'ensemble de ses données.
  • Remarque 1 : Si jamais votre base est trop volumineuse, vous pouvez faire un dump* table par table en ajoutant l'option "--tables nom_de_la_table" à la fin pour avoir cette commande :
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

  • Remarque 2 : Vous pouvez aussi compresser ce fichier pour mieux le télécharger sur votre ordinateur (par FTP ou par le web).
Pour compresser le fichier, exécutez la commande gzip ce qui créera le fichier par l'extension .sql.gz :
system("gzip nom_de_la_base.sql");
.

Via une commande ssh

Les pré-requis
Vous trouverez ci-dessous un guide pour la connexion en ssh :

Réalisation de l'exportation de la base de données en ssh
Connectez-vous en ssh à votre hébergement mutualisé.

Dirigez-vous dans le répertoire voulu pour stocker la sauvegarde, et lancez cette commande :

Le code à renseigner et à compléter :

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

Le code complété en exemple :

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

Depuis le service SQL Privé

Un guide concernant l’importation d'une base de données est disponible à ce niveau :

.

Infogérance OVH

Si vous le souhaitez, nous pouvons nous charger de cette procédure à votre place, via une intervention payante.

Concernant cela, vous avez deux possibilités d'intervention :

  • Transfert uniquement de la base pour 20 € HT.
  • Transfert de la base avec modification des fichiers de configuration afin que votre site utilise votre nouvelle base pour 40 € HT.

  • La base de données vers laquelle les données seront basculées doit être vide.

Il vous est possible de lancer votre demande d'intervention en réalisant votre demande via l'espace client.

Pour cela une fois connecté dans l'espace client, rendez-vous dans "Support" -> "Déclarer un incident".
  • Dans le cadre d'une demande d'intervention en urgence (intervention dans l'heure qui suit la validation dans le respect des horaires d'ouverture/fermeture - 10h00/18h00), le tarif est doublé.

Informations utiles

.

Sauvegarde - Backup

Si vous souhaitez récupérer une sauvegarde de l'une de vos bases de données à une date antérieure via l'utilisation d'un script, vous devrez préciser un numéro de port spécifique :

Copie actuelle = 3306
Hier = 3307
Semaine dernière = 3317

Exemple de code qu'il est possible d'utiliser :

PHP :
system("mysqldump --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe --port=3317 nom_de_la_base > nom_de_la_base.sql ");
  • Ce système de backup est disponible pour les bases de données avec la version Mysql5 minimum.
.

Erreurs "Max_Allowed_Packet" lors de l'import du dump*

Lors d'un dump*, il peut être intéressant de personnaliser l'export de votre base de données SQL via PhpMyAdmin.

Le but est d'éviter que tout le contenu d'une table soit ajouté via un seul "INSERT INTO" pour éviter les erreurs liées à la variable serveur "Max_Allowed_Packet" lors de l'import du dump* si le contenu de cette table est important.

Exemple, si la table A contient 500 lignes, au lieu d'avoir un seul "INSERT INTO" pour les 500 lignes, il y aura à la place 500 "INSERT INTO".

Via PhpMyAdmin :

Pour cela lors de votre export dans PhpMyAdmin, cochez l'option de création de données "Aucun des modes ci-dessus" afin d'éviter l'erreur associée au "Max_Allowed_Packet".

En ssh :

Vous devez utiliser l'option --skip-extended-insert.

L'option --extended-insert, incluse dans l'option --opt (Activée par défaut), génère un unique INSERT INTO pour tout une table, il faut donc désactiver cette option grâce au :

--skip-extended-insert
.

Lexique

dump* : fichier de sauvegarde de la base de données de votre site.