IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

comment migrer d'une base mysql à une autre


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut comment migrer d'une base mysql à une autre
    Bonjour Tout le monde

    Juste une question bête.

    J'ai une BdD mysql qui tourne actuellement sur un petit site.
    Je suis en train de refaire le site en PHP MySQL car pour l'instant il s'agit d'un site généré avec django (python).

    Le problème est que j'ai dû retoucher sérieusement la base de données pour l'adapter aux nouveaux besoins de l’application et là, ça se corse

    Pourriez-vous me dire s'il existe un moyen "plus ou moins simple" de migrer les données accumulées dans l'ancienne base de données vers la nouvelle, sachant que non seulement le nom des tables, mais également le nom des champs, et même la structure des tables ont été fortement modifiés.

    Merci d'avance.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Bonjour,

    Il y a plusieurs façon de faire ça, plus ou moins simple selon les différences de structures sur tes bases...
    Par exemple, par export des données vers un fichier puis import de ce fichier dans la nouvelle base.
    Sinon, tu peux également jeter un œil vers les outils ETL, si c'est une grosse base de données.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Citation Envoyé par EIN-LESER Voir le message
    J'ai une BdD mysql qui tourne actuellement sur un petit site.
    Je suis en train de refaire le site en PHP MySQL car pour l'instant il s'agit d'un site généré avec django (python).

    Le problème est que j'ai dû retoucher sérieusement la base de données pour l'adapter aux nouveaux besoins de l’application et là, ça se corse

    Pourriez-vous me dire s'il existe un moyen "plus ou moins simple" de migrer les données accumulées dans l'ancienne base de données vers la nouvelle
    Jusque là, ça ne me semblait pas insurmontable
    Citation Envoyé par EIN-LESER Voir le message
    , sachant que non seulement le nom des tables, mais également le nom des champs, et même la structure des tables ont été fortement modifiés.
    ...mais après ça, tu as poussé le curseur un peu trop haut....pour moi en tout cas
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Il ne s'agit pas d'une base très importante pour l'instant.
    J'ai 14 tables mais ce qui me laisse perplexe c'est non seulement la réa-location des informations dans la nouvelle base mais aussi l'ordre d'insertion car j'ai plusieurs contraintes liées a des clés étrangères.

    J'ai peur de devoir le faire a la main entrée après entrée dans le bon sens des tables mais cela devrait me prendre au moins 2 jours de travail.

    Pleas help

    si cela est possible

  5. #5
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par EIN-LESER Voir le message
    mais aussi l'ordre d'insertion car j'ai plusieurs contraintes liées a des clés étrangères.
    Pour ça tu peux toujours désactiver la contrainte le temps des imports.
    par contre pour l'ordre de création des tables pour les références de FOREIGN KEY, faudra être vigilant.
    Tu dois tout de même pouvoir partir d'un script de base issu d'un mysql_dump.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Si les clés étrangères sont différentes dans les 2 bases, alors ça risque d'être compliqué de faire ça par un export-import.
    La solution ETL reste la meilleure (mais en 2 jours... ).

    Si les tables et clés sont proches, peut-être qu'en passant par MySQLdump et en bidouillant à la main les lignes d'insertion, ça pourra aller... Au moins, l'ordre d'export des tables sera correct.

    C'est à voir selon les structures de tes bases.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  7. #7
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    BOn je crois que je vais pas avoir d'autre choix
    Va valoir que je modifis mon dump de l'ancienne base pour l'adapter a la nouvelle
    J'adore ça

    Merci à vous en tout cas.

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 45
    Par défaut
    Bonjour EIN-LESER,

    Comme dit précédemment, tu pourrais regarder vers des ETL. Il y en a pas mal sur le marché, dont des logiciels open source, téléchargeable gratuitement. Quelque chose comme Talend pourrait t'aider dans ton projet. Avec un ETL comme celui là, les notions techniques à avoir sont faibles - malgrè le fait qu'il aille à quelqu'un de technique. En + comme il est gratuit tu peux le tester avant de commencer à l'utiliser pour de bon

    Salut et bon courage,
    JCB.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer ses données d'une base MySQL à une base PostgreSQL
    Par el_gringo16 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/08/2011, 12h27
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. Réponses: 2
    Dernier message: 14/05/2007, 09h40
  4. Réponses: 1
    Dernier message: 12/09/2006, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo