Importer énorme base de données

Discussion dans 'Web, design' créé par BiBiO, 22 Septembre 2010.

  1. Offline
    BiBiO Elite
    Yop tt le monde,

    Je fais appel à votre aide ! Je dois importer, localement, un fichier .sql de 5Go contenant une seule table et des millions d'INSERT -_-.
    Je ne trouve aucun moyen d'uploader cette base de donnée...
    Quel programme utiliseriez-vous pour importer une BDD comme celle ci?
    Je pourrais spliter le fichier en plusieurs fichiers... Mais je ne vois pas bcp de solutions..
    Pour l'instant je travaille avec wamp mais j'ai déjà essayé postgres, qui n'a pas fait long feu...
    J'ai fait des recherches et j'ai essayé BigDump mais il y avait une erreur (can't seek quelque chose).



    Merci d'avance !
    BiBiO, 22 Septembre 2010
    #1
  2. Offline
    DeScH AstaLaVista
    C'est une base mysql? Tu peux toujours diviser le fichier en plusieurs partie. Tu l'importes de quelle manière? phpMyAdmin? Tu as quoi comme erreur? Quel upload_max_filesize, memory_limit et
    post_max_size as-tu dans php.ini?
    DeScH, 22 Septembre 2010
    #2
  3. Offline
    BiBiO Elite
    Les valeurs n'ont pas été changées, et sont donc celles par défaut.
    upload_max_filesize = 2M
    post_max_size = 8M


    J'essaie de les importer via phpmyadmin mais la taille max est de 2Mo. Donc j'ai essaye BigDump mais seulement avec le fichier de 5go. J'essaierai demain de spliter ts les fichiers et de les uploader séparement avec BigDump.

    En fait c'est une BDD postgres. Voici le début du fichier (après ca, ce ne sont ques des millions d'INSERT)
    EDIT : J'ai splitté le fichier de 5Go en fichiers de 40Mo et je vais tenter de tout rentrer ds postgres. Je vous tiens au courant :)
    BiBiO, 22 Septembre 2010
    #3
  4. Offline
    BiBiO Elite
    Ca fonctionne sur postgres mais j'ai 130 fichiers que je dois entrer manuellement....
    Faudrait que je trouve un script qui fait ca automatiquement. Ca prend environ 30sec par fichier...
    BiBiO, 23 Septembre 2010
    #4
  5. Offline
    Tifox ou pas
    il n'y a pas moyen d'effectuer ça en ligne de commande, si c'est en local (mes connaissance en ligne de commande sont un peu loin ...)




    Sinon un petit programme php qui te ferait ça ligne par ligne ?

    Genre ça ouvre le fichier, lit un insert, l'exécute, le vérifie et si ok, supprime la ligne et ferme le fichier. Puis ça recommence jusqu'a la fin ou plantage et si plantage, tu relances (le fichier sera ou tu te sera arrête.
    (Penser a augmenter le max_exe_time de php)
    Tifox, 23 Septembre 2010
    #5