2009-07-08 9 views
0

J'ai construit un simple cms avec une section admin. Je veux créer quelque chose comme un système de sauvegarde qui prendrait une sauvegarde des informations sur le site, et aussi un système de restauration qui permettrait de restaurer les sauvegardes prises. Je suppose que les sauvegardes sont des fichiers SQL générés des tables utilisées.Vous voulez créer un script qui prend la sauvegarde de la base de données entière et le télécharge

J'utilise PHP et MySQL ici - une idée de comment je peux faire cela?

Répondre

2

Une solution simple pour la sauvegarde:

  • Appel mysqldump de php http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html, et enregistrez le fichier de sauvegarde quelque part pratique.
  • C'est une solution sûre, car vous avez mysqldump sur n'importe quelle installation mysql, et c'est un moyen sûr de générer un script SQL standard
  • Il est également possible de sauvegarder la base de données entière en toute sécurité.
  • Soyez prudent avec les blobs, comme des images enregistrées à l'intérieur base de données
  • Soyez prudent avec utf-8 données

Une solution simple pour la restauration:

  • opération de restauration peut être fait avec le script enregistré .
  • Commencez par désactiver l'accès au site/à l'application.
  • Déconnectez la base de données.
  • Restaurez la base de données à partir du script avec mysqlimport http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html

Appel des applications externes de php:

http://php.net/manual/en/book.exec.php

0

Si linux/unix, consultez "man pg_dump". Il vide essentiellement des bases de données entières (avec toutes les tables et définitions de table), par ex. "Pg_dump mydb> db.sql"

+0

la question est étiquetée mysql –

0

Est-ce juste pour vous-même ou faire vous le voulez comme une caractéristique du CMS?

Je vous conseille d'utiliser MySQL Administrator depuis www.mysql.com pour créer des sauvegardes. C'est un outil très utile que vous pouvez utiliser pour planifier des sauvegardes à partir de bases de données externes auxquelles vous avez accès. Il vous permet de restaurer et d'être sélectif sur les tables. Si c'est pour une fonctionnalité du CMS, alors a) Je ne suis pas sûr que ce soit un bon plan et b) l'un des éléments ci-dessus devrait le faire!

+0

Son essentiellement une caractéristique des centimètres dans ce cas comme un téléchargement d'un fichier tout peut être utilisé pour restaurer le système. C'est comme générer un fichier SQL à partir de phpMyAdmin en faisant seulement partie du système CMS. Je suis à la recherche d'une solution générique ici. – Ali

-1

phpMyAdmin et SQLBuddy ont des fonctions pour importer/exporter la base de données entière.

+0

Je ne vois pas pourquoi ils vous ont donné -1, peut-être parce que phpMyAdmin n'a pas d'exportation planifiée. Mais la question n'a pas demandé de planifier ces sauvegardes. –

0

Pour la partie sauvegarde, vous pouvez utiliser une solution prête. Découvrez astrails-safe pour mysql/pgsql/plaine_files/subversion sauvegarde avec cryptage et télécharger vers S3/SFTP.

ne devrait pas être trop difficile d'ajouter la capacité de restauration (fondamentalement, il suffit de déchiffrer, décompresser et acheminer les données vers la commande appropriée).pour mysql (w/o le cryptage):

zcat -d mysqldump-blog.090820-0000.sql.gz | mysql database_name 
Questions connexes