Je souhaite donner à un client la possibilité de télécharger manuellement une sauvegarde de sa base de données. Je suis en train de coder le site en utilisant PHP et MySQL. Ainsi, après que l'utilisateur admin se soit connecté, il y aurait un lien dans le menu pour télécharger un fichier .sql sur l'ordinateur local. Comment puis-je accomplir cela avec PHP?Sauvegarde de téléchargement PHP de la base de données MySQL
Répondre
Cela peut être gênant en essayant de sauvegarder une base de données de PHP, vous seriez mieux de laisser MySql gérer cela, et la meilleure façon de dire mysql de le faire est avec un script shell:
#!/bin/bash
# Shell script to backup MySql database
# To backup Nysql databases file to /backup dir and later pick up by your
# script. You can skip few databases from backup too.
# For more info please see (Installation info):
# http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Last updated: Aug - 2005
# --------------------------------------------------------------------
# This is a free shell script under GNU GPL version 2.0 or above
# Copyright (C) 2004, 2005 nixCraft project
# Feedback/comment/suggestions : http://cyberciti.biz/fb/
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
MyUSER="SET-MYSQL-USER-NAME" # USERNAME
MyPASS="SET-PASSWORD" # PASSWORD
MyHOST="localhost" # Hostname
# Linux bin paths, change this if it can not be autodetected via which command
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)"
# Backup Dest directory, change this if you have someother location
DEST="/backup"
# Main directory where backup will be stored
MBD="$DEST/mysql"
# Get hostname
HOST="$(hostname)"
# Get data in dd-mm-yyyy format
NOW="$(date +"%d-%m-%Y")"
# File to store current backup file
FILE=""
# Store list of databases
DBS=""
# DO NOT BACKUP these databases
IGGY="test"
[ ! -d $MBD ] && mkdir -p $MBD || :
# Only root can access it!
$CHOWN 0.0 -R $DEST
$CHMOD 0600 $DEST
# Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
for db in $DBS
do
skipdb=-1
if [ "$IGGY" != "" ];
then
for i in $IGGY
do
[ "$db" == "$i" ] && skipdb=1 || :
done
fi
if [ "$skipdb" == "-1" ] ; then
FILE="$MBD/$db.$HOST.$NOW.gz"
# do all inone job in pipe,
# connect to mysql using mysqldump for select mysql database
# and pipe it out to gz file in backup dir :)
$MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE
fi
done
et vous dites php pour indiquer au système d'exploitation pour exécuter ce script et attendre que cela se fasse, cela se fait habituellement avec exec
ou system
tels que:
exec('/path/to/backup/script.sh');
ensuite, vous pouvez simplement envoyer le fichier créé par le script au navigateur pour tha t utilisateur.
+1 laisser MySQL le faire est le chemin à parcourir. La chose importante à enlever du script ci-dessus est l'utilisation de mysqldump. Voir http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html pour plus de référence. – mfonda
le script shell semble être la meilleure solution car vous avez plus de contrôle sur les erreurs, etc., si vous utilisez juste 'mysqldump' avec' exec', vous risquez fort de rencontrer des erreurs en cours de route. – RobertPitt
Merci cela m'a mis sur la bonne voie, mais j'ai fait mon propre script shell pour exécuter la commande mysqldump –
- 1. Sauvegarde de la base de données MySql avec PHP
- 2. Sauvegarde de base de données Mysql
- 3. la sauvegarde de base de données MySQL à la volée
- 4. sauvegarde/restauration de données dans la base de données mysql
- 5. Base de données de répliques automatique de la base de données mySql pour la sauvegarde?
- 6. XML SOAP sauvegarde de base de données mySQL
- 7. Sauvegarde de la base de données MySQL avec PHP, puis cryptage du fichier pour téléchargement sur un autre serveur
- 8. base de données MySQL - erreur lors de la base de données de sauvegarde
- 9. Création d'une sauvegarde de base de données
- 10. Sauvegarde des valeurs flottantes dans la base de données MySQL?
- 11. Téléchargement de l'image dans la base de données Mysql
- 12. Sauvegarde de la base de données SQL
- 13. MySql téléchargement de table multiples avec PHP
- 14. Créer une sauvegarde/restauration de base de données MySQL
- 15. Récupération de la base de données mysql à partir de la sauvegarde du dossier de données
- 16. Sauvegarde binaire de la base de données MySQL en utilisant PHP
- 17. Sauvegarde de MySQL dans une autre base de données
- 18. Afficher la base de données PHP/MYSQL
- 19. php mysql supprimer la base de données
- 20. Le téléchargement de la sauvegarde de la base de données phpMyAdmin s'arrête à 5,6 Mo
- 21. jquery ui listes triables de connectWith de sauvegarde de base de données mysql php
- 22. Sauvegarde des données mysql
- 23. Téléchargement de fichier pdf à partir de la base de données mysql en utilisant php
- 24. Sauvegarde HTML dans la base de données
- 25. base de données drupal sauvegarde
- 26. Problèmes de base de données PHP/MySQL
- 27. Sauvegarde de base de données d'une base de données mysql dans VB.Net
- 28. problème de base de données PHP MySQL
- 29. la base de données de MySQL avec PHP est modifié
- 30. Sauvegarde d'une base de données mysql qui ne fonctionne plus
http://stackoverflow.com/questions/3595976/backup-mysql-database-with-php est similaire – mikel
Exact duplicate de [Sauvegarder une base de données mysql et télécharger comme fichier] (http://stackoverflow.com/ questions/3751069/backup-a-mysql-database-et-download-as-a-file), et la moitié des questions dans la liste Related sur la droite. – Charles