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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Export Full d'une base de données via Wamp [Wamp]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut Export Full d'une base de données via Wamp
    Bonjour,


    J'essaie de faire un EXPORT FULL de ma base de données sous WAMP.


    J'effectue cette commande :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump.exe -uroot [NOM_BASE] > C:\[CHEMIN]\backupDB.sql
    Mais apparemment il ne me fait un EXPORT que de la structure de ma base sans m'exporter les données.

    Un idée ?
    Merci.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    Exemple dans la FAQ

  3. #3
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    oui, c'est ce que je fais, mais j'ai toujours un ramassis d'information étrange, c'est à dire, tout ce qui commence par /*!40

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
     
    -- MySQL dump 10.10
    --
    -- Host: localhost    Database: test
    -- ------------------------------------------------------
    -- Server version	5.0.27-community-nt
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
     
    --
    -- Table structure for table `te`
    --
     
    DROP TABLE IF EXISTS `te`;
    CREATE TABLE `te` (
      `1` text NOT NULL,
      `2` text NOT NULL,
      `3` text NOT NULL,
      `4` text NOT NULL,
      `5` text NOT NULL,
      FULLTEXT KEY `1` (`1`,`2`,`3`,`4`,`5`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Dumping data for table `te`
    --
     
    LOCK TABLES `te` WRITE;
    /*!40000 ALTER TABLE `te` DISABLE KEYS */;
    INSERT INTO `te` VALUES ('116','test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 ','test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 ','test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 ','test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 '),('test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1','test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 ','test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 ','test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 ','test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 '),('11','22','33','44','55'),('66','77','88','99','1010');
    /*!40000 ALTER TABLE `te` ENABLE KEYS */;
    UNLOCK TABLES;
    /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
     
    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
     
    -- Dump completed on 2008-12-01  9:41:17

    j'arrive pas à les retirer quand je mets l'option -K ou --disable-keys.
    Voici ma syntaxe (je fais des tests sur la bases standart de l'installation WAMP, "test" avec la table "te" :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump -uroot --opt --disable-keys  test  > c:\test.sql
    Merci.

  4. #4
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    De plus, il me créé dans mon export un seul INSERT TO pour tous les enregistrement.
    Est-ce possible de lui dire de me faire un INSERT TO pour chaque enregistrement, parceque vu la base que je dois exporter l'import sera impossible.

    Merci

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    En quoi les commentaires sont dérangeant, puisqu'il ne les prends pas en comptes.

    Ton Insert Into est correctes , es-tu sûr d'avaoir plus 1 ligne dan ta table de test ?

  6. #6
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    En quoi les commentaires sont dérangeant
    J'ai un export d'une base de données qui avoisine le Giga.
    si pour un seul fichier d'export SQL de 50 lignes j'ai 20 lignes de commentaires inutile, c'est un gros problème de lourdeur lors de la centralisation des données/fichiers de sauvegardes sur les serveurs de l'entreprise qui s'annonce.
    Chaque lignes comptes.

    J'ai du changer le temps d'exécution des INSERT dans les fichiers de configuration car il dépasse les 12 secondes.

    Par moment, je fais des INSERT un à un "à la mano" car je dois procéder à un découpage manuel de mon fichier SQL. Un fichier contenant un seul INSERT peut faire 8Méga. Des fichiers comme celui-ci y en a une trentaine.

    Imagine donc, si je n'ai qu'un INSERT pour ces milliers d'enregistrements.

    Ton Insert Into est correctes , es-tu sûr d'avaoir plus 1 ligne dan ta table de test ?

    dans le INSERT que j'ai posté, il y a 4 insert en un, soit 4 enregistrement dans cette table de test traduite par un seul INSERT :

    INSERT INTO `te` VALUES ('116','test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 ','test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 ','test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 ','test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 '),
    ('test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1test 1','test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 test2 ','test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 test3 ','test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 test4 ','test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 test5 '),
    ('11','22','33','44','55'),
    ('66','77','88','99','1010');
    C'est cette option à désactiver que je ne trouve pas dans l'EXPORT via cmd.

  7. #7
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    Bon j'ai trouvé :


    en faite le problème était :

    1 - Supprimer les commentaires lourds commencant par /*!40 .... */
    2 - Faire des INSERT par enregistrement et non un seul INSERT pour tous les enregistrement.


    dans la commande : C:\wamp\mysql\bin>mysqldump --?
    vous avez à la fin :

    Variables (--variable-name=value)
    and boolean options {FALSE|TRUE} Value (after reading options)
    __________________________________________________
    [...]
    compress FALSE
    create-options TRUE
    databases FALSE
    default-character-set utf8
    delayed-insert FALSE
    delete-master-logs FALSE
    disable-keys TRUE
    extended-insert TRUE
    [...]

    (cf:leur correspondance)
    Il faut mettre les valeurs de ces paramètres à FALSE car elles sont par défaut à TRUE.

    la syntaxe pour un export propre devient par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\wamp\mysql\bin>mysqldump -uroot --extended-insert=false test > c:\test.sql

  8. #8
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    Rectif :

    Pour retirer les /*!40..... */ c'est :

    --compact=true (Crée un fichier SQL avec le minimum requis, pas de commentaire)
    --comments=true (Insert les commentaires concernant le descriptif de table)



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\wamp\mysql\bin>mysqldump -uroot --extended-insert=false --compact=true --comments=true test > c:\test.sql
    a+

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

Discussions similaires

  1. exporter une base de données via script php
    Par DimitriLille dans le forum Langage
    Réponses: 3
    Dernier message: 04/06/2014, 09h31
  2. [MySQL] Envoi d'information dans une base de donnée via formulaire
    Par Mysti¢ dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/03/2006, 20h35
  3. Acces à une base de données via ODBC
    Par jyg dans le forum MFC
    Réponses: 4
    Dernier message: 23/03/2005, 14h56
  4. exporter ou répliquer une base de données Postgres
    Par phonetik dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/05/2004, 15h51

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