Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur pendant importation d'une base de donnée

Sujet résolu
    10 mai 2018 à 10:00:13

    Bonjour,

    je travaille sur un nouveau site en local avec MAMP pour mac, ce site tourne sur une base de donnée v3 qui fonctionne très bien.

    J'exporte cette base de donnée (121,6 Mo), je la compresse (6,8 Mo), je crée une nouvelle base de donnée v4 dans laquelle j'importe mon fichier sql compressé de 6,8 Mo.

    Au bout de 10 secondes, j'ai le message suivant :

    je peux ignorer le message d'erreur mais l'import s'arrête quand même.

    Tonny16 a eu le même problème ici et a trouvé la solution en augmentant certaine valeur.

    je suis sous MAMP et ne trouve pas où modifier ces valeurs.

    Quelqu'un pourrait m'aider à résoudre ce problème ?

    Merci d'avance

    -
    Edité par pedrocorse 10 mai 2018 à 10:01:21

    • Partager sur Facebook
    • Partager sur Twitter
      10 mai 2018 à 12:42:08

      Bonjour,

      Essayes de remplacer "ON" par 1.

      Sinon essaye de commenter la ligne en question avec deux tirets devant "--".

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        10 mai 2018 à 20:43:01

        Bonsoir,

        j'ai trouvé pourquoi j'ai ce message d'erreur, j'ai une chaine qui est trop grande

        le message d'erreur est :

        Paquet plus grand que 'max_allowed_packet' reçu

        je ne trouve pas dans MAMP comment augmenter la valeur du max_allowed_packet.

        sauriez-vous où modifier ça ?

        Merci

        • Partager sur Facebook
        • Partager sur Twitter
          11 mai 2018 à 9:02:22

          pedrocorse a écrit:

          le message d'erreur est :

          Paquet plus grand que 'max_allowed_packet' reçu

          Ce n'est pas l'erreur que tu as posté plus tôt ...

          Après, tu aurais pu chercher un peu ...

          La variable max_allowed_packet se paramètre dans le fichier my.ini

          Ouvre ce fichier et trouve la ligne :

          max_allowed_packet = ...M

          Modifie la valeur :

          max_allowed_packet = 500M

          Et relances ton serveur MAMP.

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            12 mai 2018 à 11:00:09

            Merci Benzouye pour ta réponse

            mais pourtant c'est la même erreur, je me suis rendu compte qu'à chaque fois que j'avais cette erreur la seule table qui se créait était la table batch et qu'il manquait une seule entrée, j'ai regarder mon fichier SQL et j'ai vu que cette entrée avait un champ anormalement grand. j'ai fait un test en insérant que ce champ dans ma base de donnée et en retour j'ai eu le message d'erreur de mon dernier post, j'ai fait un autre test en important ma base de donnée sans cette entrée et ma base de donnée s'importe bien.

            Pour en revenir à ta solution, j'avais bien cherché mais dans la dernière version de MAMP 4.4.1(3114) je n'ai pas ce fichier my.ini.

            Merci de ton aide

            Edit : j'ai créé un fichier my.ini.txt dans MAMP/conf avec comme paramètre :

            max_allowed_packet = 500M

            je l'ai renommé en my.ini, le contenu a changé et devenu

            {\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf400
            {\fonttbl\f0\fmodern\fcharset0 CourierNewPSMT;}
            {\colortbl;\red255\green255\blue255;}
            {\*\expandedcolortbl;;}
            \paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
            \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
            
            \f0\fs28 \cf0 max_allowed_packet = 500M}


            même avec ce changement, le problème reste entier

            -
            Edité par pedrocorse 12 mai 2018 à 17:26:16

            • Partager sur Facebook
            • Partager sur Twitter
              14 mai 2018 à 9:08:24

              pedrocorse a écrit:

              j'ai fait un autre test en important ma base de donnée sans cette entrée et ma base de donnée s'importe bien

              Ce n'est donc pas la taille du fichier SQL importé qui bloque, mais le contenu d'une colonne ...

              Il faut donc que tu vérifies dans la base de données et la table en question de quel type est la colonne concernée. Genre VARCHAR( xxx ) ?

              Combien de caractère contient la valeur de la colonne de l'entrée qui bloque ?

              Quel est le type de la colonne de destination ?

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                14 mai 2018 à 14:04:16

                La colonne est de type longblob et il y a plus de 7 million et demi de caractère (surement un bug).

                j'ai lu que cette table pouvait être vidée donc mon problème est pour ainsi dire résolu, je reste avec mon sql sans cette entrée.

                J'ai quand même une question dont j'aimerais bien avoir la réponse.

                sur MAMP, comment modifier les paramètres max_allowed_packet,  key_buffer_size, etc ?

                • Partager sur Facebook
                • Partager sur Twitter
                  14 mai 2018 à 14:51:02

                  Un LONGBLOB pouvant contenir plus de 4 milliards d'octets (2^32 octets) je suis assez surpris de l'erreur ...

                  pedrocorse a écrit:

                  sur MAMP, comment modifier les paramètres max_allowed_packet,  key_buffer_size, etc ?

                  Comme expliqué plus haut ... Ces paramètres sont dans le fichier my.ini ...

                  Exemple de mon my.ini (juste le début) :

                  # Example MySQL config file for small systems.
                  #
                  # This is for a system with little memory (<= 64M) where MySQL is only used
                  # from time to time and it's important that the mysqld daemon
                  # doesn't use much resources.
                  #
                  # You can copy this file to
                  # D:/ampp7/mysql/bin/my.cnf to set global options,
                  # mysql-data-dir/my.cnf to set server-specific options (in this
                  # installation this directory is D:/ampp7/mysql/data) or
                  # ~/.my.cnf to set user-specific options.
                  #
                  # In this file, you can use all long options that a program supports.
                  # If you want to know which options a program supports, run the program
                  # with the "--help" option.
                  
                  # The following options will be passed to all MySQL clients
                  [client] 
                  # password       = your_password 
                  port            = 3306 
                  socket          = "D:/ampp7/mysql/mysql.sock"
                  
                  
                  # Here follows entries for some specific programs 
                  
                  # The MySQL server
                  [mysqld]
                  port= 3306
                  socket = "D:/ampp7/mysql/mysql.sock"
                  basedir = "D:/ampp7/mysql" 
                  tmpdir = "D:/ampp7/tmp" 
                  datadir = "D:/ampp7/mysql/data"
                  pid_file = "mysql.pid"
                  # enable-named-pipe
                  key_buffer = 16M
                  max_allowed_packet = 1M
                  sort_buffer_size = 512K
                  net_buffer_length = 8K
                  read_buffer_size = 256K
                  read_rnd_buffer_size = 512K
                  myisam_sort_buffer_size = 8M
                  log_error = "mysql_error.log"
                  event-scheduler = OFF
                  general_log = 1
                  general_log_file = "mysql_general.log"
                  
                  # Change here for bind listening
                  # bind-address="127.0.0.1" 
                  # bind-address = ::1          # for ipv6
                  
                  # Where do all the plugins live
                  plugin_dir = "D:/ampp7/mysql/lib/plugin/" 

                  Il suffit don de modifier ce fichier, d'enregistrer et de relancer le serveur ...

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

                  erreur pendant importation d'une base de donnée

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown