Sauvegarde et restauration des bases de données

De PHPNET Wiki
Aller à : navigation, rechercher

Les sauvegardes des bases de données sont gérées automatiquement par PHPNET, sur les hébergements mutualisés standard, les hébergements Premium (mutualisés et dédiés) et les serveur de bases de données MySQL Gold .

Fonctionnement et périodicité des sauvegardes

  1. Chaque jour, une sauvegarde de la base de données est effectuée et mise à disposition dans votre panel
  2. Chaque fin de semaine, la dernière sauvegarde journalière devient le dump hebdomadaire
  3. Chaque fin de mois, le dump de la dernière semaine devient le dump du mois passé

Au bout d'un mois après la création de votre BDD, vous pourrez obtenir les dumps :

  • Des 3 derniers jours
  • Des 3 dernière semaines
  • Des 3 derniers mois

Restaurer une base de données

  1. Rendez-vous dans votre espace client
  2. Sélectionnez "Hébergements mutualisés", "Serveurs Premium" ou "MySQL Gold" (en fonction de votre offre)
  3. Dans la partie "Vos bases de données Mysql", repérer la base de données que vous souhaitez restaurer
  4. Cliquez sur le bouton "Plus" puis sur "Liste de vos sauvegardes/Dump"
    Restaurer bdd1.png
  5. Télécharger la sauvegarde de la base de données désirée sur votre ordinateur en cliquant sur le bouton adéquat, sur la ligne correspondant au dump désiré :
    Restaurer bdd2.png

Méthodes alternatives

Avec PhpMyAdmin

Si vous désirez exporter ou importer une base manuellement (bases de données légères) :

  1. Accédez à la gestion de votre base de données par phpMyAdmin
  2. Cliquez alors sur l'onglet "Exporter" ou "Importer" et sélectionnez le fichier correspondant sur votre ordinateur.

Attention.pngSi vous désirez effectuer une importation ou exportation d'une base de données plutôt lourde, phpMyAdmin fera un timeout (dépassement du temps maximal d'exécution pour un script) vous empêchant de réaliser l'opération.
Le plus simple est alors d'utiliser un script tel que BigDump ou un logiciel tiers tel MySQLFront ou MySQL WorkBench, de vous connecter au serveur et de créer ou restaurer le DUMP ainsi.

En ligne de commande (Premium, VDS, Dédiés)

Export de base(s) (dump)

Pour faire un dump avec mysqldump des bases "base1" et "base2" sur localhost (machine locale) :
mysqldump -h'nom_du_serveur' -u'login_sql' -pmotdepassedelabase nom_de_la_base > /repertoire/mon_dump.sql

Restauration de base(s)

Pour restaurer un de ces dumps :
mysql -h'nom_du_serveur' -u'login_sql' -pmot_de_passe_de_la_base nom_de_la_base < /chemin/mon_dump.sql

Copie de bases (avec mysqlhotcopy)

Pour faire une copie des bases avec mysqlhotcopy (nécessite d'avoir un accès aux deux serveurs MySQL et ne fonctionne que pour les bases en ISAM ou en MyISAM) : mysqlhotcopy base1 /repertoiredesdump/
Cela créera un répertoire /repertoiredesdump/base1 avec une copie des bases originelles qui se trouvent dans /var/lib/mysql/, pour ré-importer cette sauvegarde il faut couper le serveur mysql (/etc/init.d/mysql stop) puis remplacer /var/lib/mysql/base1/ par celui qui est dans /repertoiredesdump/base1 (renommer l'ancien répertoire par sécurité) puis relancer mysql (/etc/init.d/mysql start).


Export/import de base(s) avec compression/décompression à la volée des fichiers

Compresser les fichiers .sql à la volée en gunzip (.gz) pour économiser de la place vous pouvez utiliser au moment du dump :
mysqldump -hlocalhost -uloginsql -pmotdepassedelabase --databases base1 base2 | gzip > /repertoiredesdump/dump.sql.gz

Et pour ré-importer directement ces dump compressés:
gunzip < /repertoiredesdump/dump.sql.gz | mysql -uloginsql -pmotdepassedelabase -hlocalhost


La documentation officielle de mysqldump
La documentation officielle de mysqlhotcopy