|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() |
Bonjour,
je recherche une manière de copier l'intégralité d'une base de données (structure + data) dans une autre (à des fins d'archivage de données, chaque DB contiendra en fait un an de données pour une société). Il s'agit en fait d'une sorte de "dump", mais qui doit être réalisé sous forme de script SQL... pas d'exécution de commande système possible... tout doit être fait depuis PHP, avec mysql_query. Quelqu'un aurait-il une piste? Merci d'avance
__________________
gg |
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() |
hum...
Citation:
__________________
gg |
|
|
|
00
|
|
|
#4 |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
OK, j'avais mal compris
![]() La base d'archive est sur le même serveur ?
__________________
Pensez au bouton
|
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() |
Citation:
__________________
gg |
|
|
|
00
|
|
|
#6 |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Je vois deux solutions insatisfaisantes :
- Récupérer les ordres de création des tables avec SHOW CREATE TABLE, puis les exécuter sur la base d'archive et copier les données avec INSERT ... SELECT - Utiliser BACKUP TABLE mais les index ne sont pas créés. Ceci dit mysqldump est quand même beaucoup plus pratique...
__________________
Pensez au bouton
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() |
Citation:
En tout cas, merci pour le conseil, je vais passer par SHOW CREATE TABLE je pense...
__________________
gg |
|
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() Christophe CharronDéveloppeur informatique Inscription : juillet 2005 Messages : 768 ![]() |
Bonjour,
bien que la conversation soit marquée "résolue", je me permets une petite intervention. Dans phpmyadmin, il y a dans l'onglet "Opérations" une option "Copier la base de données vers:" qui pointe vers le script "db_operations.php" qui devrait être une excellente source d'inspiration ... non ?
__________________
Cordialement, Christophe Charron Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature |
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() |
Oui, il est vrai que je pourrais éplucher le code de phpMyAdmin... Mais après un bref coup d'oeuil, je ne comprend pas vraiment le fonctionnement de ce script...
L'implémentation de la solution précédente est quasiment terminé... Cependant, il semblerait que les index ne sont pas pris en compte par "SHOW CREATE TABLE xxx", car je reçois pas mal d'erreurs N°150 lorsque j'essaie de les recréer... Les 150 concernent de problèmes de clés étrangères, pourtant tout semble fonctionner à part les index... Comment forcer la création des index avec SHOW CREATE TABLE ? SVP, ça me sauverait la vie d'avoir une solution viable... Voici le code que j'ai produit, si ça intéresse qq'un... Code :
__________________
gg |
||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() |
Oups, je retire ce que j'ai dit!
En fait ça fonctionne, les index sont bien crées, mais les clés étrangères pointent sur des tables qui n'existent pas au moment de l'exécution du script.... Comment palier à ce problème? Une idée?
__________________
gg |
|
|
00
|
|
|
#11 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Salut,
Désactive la contrainte de clés étrangères avant de créer tes tables (fonctionne à partir de MySQL 4 il me semble) : Sinon, une petite expression régulière pour pouvoir trier les CREATE TABLE en fonction de leur(s) dépendance(s), avant de les exécuter |
|
|
00
|
|
|
#12 | |
|
Membre éprouvé
![]() Christophe CharronDéveloppeur informatique Inscription : juillet 2005 Messages : 768 ![]() |
Bonsoir,
Citation:
__________________
Cordialement, Christophe Charron Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature |
|
|
|
00
|
|
|
#13 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Bien sûr si les dépendances forment un cycle, ma méthode ne fonctionne pas
|
|
|
00
|
|
|
#14 | ||||
|
Membre Expert
![]() |
Citation:
Citation:
En tout cas, voici le code final, qui fonctionne pas trop mal Code :
__________________
gg |
||||
|
|
00
|
|
|
#15 |
|
Membre éprouvé
![]() Christophe CharronDéveloppeur informatique Inscription : juillet 2005 Messages : 768 ![]() |
Heu ...
__________________
Cordialement, Christophe Charron Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com