Come cambiare il max allowed packet size in mysql o mariadb

Quando cercate di lanciare query di grandi dimensioni, o sono presenti grandi moli di dati ad esempio su campi di tipo TEXT o BLOB, potreste ricevere il seguente messaggio di errore:

Packets larger than max_allowed_packet are not allowed.

Questo accade perché le dimensioni massime dei pacchetti inviabili sono minori a livello di impostazioni del motore di database mysql o mariadb che sia.

Come faccio allora ad aumentare le dimensioni (in termini di megabyte) del limite impostato sul max_allowed_packet?

In Corso 1
MySql 05-07-2024 1 Risposta 199 Visite 0

Risposte ( 1 approvate )

  1. Giorgio Borelli
    +2
    05-07-2024 11:53:01
    Rispondi

    Potete cambiare le dimensioni dei pacchetti/query inviabili per max_allowed_packet anche via codice (ad es. in php), come spiegato in questo post: MySql server has gone away.

     

    Ammesso sempre che abbiate i permessi utente a livello di database per farlo, ed in ogni caso al riavvio del server MySql vi ritrovereste nuovamente limitati alle dimensioni di default settate.

     

    Per cambiare e settare le dimensioni (size) del max_allowed_packet in modo permanente, bisogna procedere in questo modo:

     

    1. Stoppate il servizio del server MySql
    2. Cercate il file my.ini (solitamente sotto la cartella d'installazione bin di mysql)
    3. Apritelo con un qualsiasi editor di testo
    4. Individuate la sezione delle direttive inerenti il Server ([mysqld])
    5. Cercate la voce max_allowed_packet, solitamente impostata ad 1M o 2M (a seconda la versione mysql)
    6. Cambiate la dimensione con una adeguata alle vostre esigenze ad es. 100M, in questo modo
      1. max_allowed_packet = 100M
    7. Salvate il file my.ini
    8. Riavviate il server MySql

     

    Et voilà, il gioco è fatto, da adesso in poi potrete inviare pacchetti (query e file) con un max_allowed_packet sino a 100 megabyte (o quello che avete impostato), e non riceverete più l'errore "Packets larger than max_allowed_packet are not allowed".

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

AskDB Staff

AskDB Staff

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva