Impostare group_concat_max_len in modo permanente (configurazione MySQL)


20

Ho MySQL installato su una macchina Ubuntu.

Ho aggiunto questa riga in /etc/mysql/my.cnf

group_concat_max_len = 15360

Ma non c'è alcun effetto. Ogni volta che riavvio mysql, il valore è impostato su 1.024. Devo eseguire manualmente

SET GLOBAL group_concat_max_len=15360

... ogni volta che avvio mysql.

Perché my.cnf non funziona nel modo in cui pensavo dovesse funzionare? Grazie


Questo succede sempre. È 1) file errato o 2) qualcos'altro sotto lo ha sovrascritto.
Pacerier,

1
@Pacerier o la direttiva è stata aggiunta sotto l'intestazione di gruppo errata, come nella risposta accettata.
Buttle Butkus,

Risposte:


26

Se l'impostazione è già presente in my.cnf o my.cfg e un riavvio non ha comportato la modifica prevista, è possibile che l'impostazione sia collocata nella posizione errata.

Assicurarsi che l'impostazione sia nell'intestazione del gruppo [mysqld]

[mysqld]
group_concat_max_len=15360

quindi puoi riavviare mysqld senza preoccupazioni

BTW @ gbn potrebbe essere più corretto in questo caso perché non è possibile utilizzare le virgole nelle impostazioni numeriche per my.cnf (+1 per @gbn)


Ho trascorso ore a eseguire il debug prima di rendermi conto che il mio group_concat_max_len è stato ripristinato. Ora non dovrò preoccuparmi che ciò accada di nuovo. Grazie mille. In my.cnf non c'erano impostazioni per group_concat_max_len per impostazione predefinita, quindi l'ho appena aggiunto in fondo, sotto [isamchk]. OOPS. Grazie mille!
Buttle Butkus,

Mi infastidisce così tanto che alcune impostazioni usano trattini e alcune sottolineate nella configurazione di MySQL
Brian dice Reinstate Monica

4

Utilizzare group_concat_max_len=15360 senza il separatore delle migliaia

Vedi i documenti

Se il problema persiste, è necessario identificare il file my.cnf o my.cfg corretto utilizzato dall'installazione


Grazie per il tuo commento. Sfortunatamente, è stato un mio errore inserire "," nella mia domanda ma non in my.cnf. Rolando in realtà aveva ragione. Non avevo idea che la posizione di group_concat_max_len fosse importante in my.cnf.
Buttle Butkus,

0

Ecco cosa faccio:
Apri MySQL Workbench e seleziona la connessione che desideri manipolare se ne hai più di una, quindi fai clic su Amministrazione server - Avanzate - Varie, seleziona group_concat_max_len e imposta il valore desiderato a lungo.
Ricorda di riavviare MySql.
Cordiali saluti, Ola Balstad.


1
Non è un'impostazione permanente.
Dennis Kaarsemaker,

È permanente !!! Si prega di controllare prima di commentare.
Ola Balstad,

Che cos'è mysql workbench? Sembra che la tua risposta si applichi solo a una particolare API per MySQL. Questo è probabilmente il motivo per cui ti stai ridimensionando. (A proposito, non ti ho votato)
Buttle Butkus,

MySql Workbench è un utile strumento API fornito con MySQL Community Server quando lo scarichi, ovvero con l'ultima versione 5.6
Ola Balstad

NB !! Non scoraggiarti dalla mia valutazione. Questa è una soluzione rapida e buona a un problema comune.
Ola Balstad,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.