DUPLICATION D'UNE BASE DE DONNÉES POUR SAUVEGARDE

Signaler
Messages postés
488
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
1
Date d'inscription
jeudi 13 novembre 2008
Statut
Membre
Dernière intervention
30 avril 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48742-duplication-d-une-base-de-donnees-pour-sauvegarde

Messages postés
1
Date d'inscription
jeudi 13 novembre 2008
Statut
Membre
Dernière intervention
30 avril 2009

Bonjour,

j'ai utilisé ce script il marche très bien, mais lorsque les table sont copiés il semble que l'auto incrémentation ne se copie pas. Ça ajoute également la valeur "0" par défault...

qqun a-t-il une solution ? c'est une variable de mysql qui n'est pas correcte ?

merci !
Messages postés
7
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
28 avril 2014

slt je m'adresse à fmarie s'il peut mettre des commentaires dans son code car pour les débutants comme nous c'est un peu difficile de comprendre.
Messages postés
488
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
4
>> Sinon, pourquoi ne pas utiliser l'extension mysqli plutôt que mysql ?

Ou même PDO tant qu'à faire :)
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
Salut,

Concernant l'exécution d'un script shell par l'utilisateur, il est vivement recommandé, à moins d'apporter un soin extrême à la configuration de PHP et du serveur (ce qui n'est pas une mince affaire), de ne pas le faire directement par PHP.

Le mieux est, comme le disait WebDeb, d'utiliser une tâche auto avec cron, exécutée sous root.
Il n'est pas nécessaire que la tâche soit exécutée 1 fois par jour... On peut imaginer que le script de backup cherche un fichier précis à un endroit précis (lequel aura été créé par PHP dans un répertoire de l'utilisateur qui ne se trouve pas dans l'arborescence de publication http). Si le fichier est trouvé (il peut d'ailleurs contenir le(s) nom(s) de la / des base(s) à sauvegarder), alors le dump est effectué. Sinon, non.
Cette tâche peut très bien être exécutée toutes les 5/10 minutes par exemple.
Dans le même ordre d'idée, pour la restauration, on peut imaginer l'inverse... L'utilisateur doit placer son fichier .sql à un endroit précis. La tâche de restauration cherche les fichiers SQL dans ce répertoire précis et les exécute. Idem, elle peut tourner toutes les 5/10 minutes.

C'est à mon avis une des solutions les plus simples à mettre en place sans sacrifier la sécurité (plutôt que d'avoir un script PHP qui exécute un script shell contenant le mot de passe MySQL de root) et, puisque tu t'adresses à des personnes qui ont un serveur dédié, bien plus adaptées qu'un script PHP.

Pour revenir sur le point 2 évoqué par WebDeb : pourquoi utiliser MySQL connect sur chaque page avec des variables définies dans un autre fichier ? Pourquoi ne pas simplement inclure un fichier qui contient la fonction mysql_connect() avec les arguments ? Bon c'est du détail, hein...

Sinon, pourquoi ne pas utiliser l'extension mysqli plutôt que mysql ?
Afficher les 12 commentaires