Group_concat_max_len dauerhaft setzen (MySQL config)

20

Ich habe MySQL auf einem Ubuntu-Rechner installiert.

Ich habe diese Zeile in /etc/mysql/my.cnf eingefügt

group_concat_max_len = 15360

Es gibt aber keine Wirkung. Bei jedem Neustart von mysql wird der Wert auf 1.024 gesetzt. Ich muss manuell ausführen

SET GLOBAL group_concat_max_len=15360

... jedes Mal, wenn ich mysql starte.

Warum funktioniert my.cnf nicht so, wie ich es mir vorgestellt hatte? Vielen Dank

Buttle Butkus
quelle
Das passiert immer. Es ist entweder 1) eine falsche Datei oder 2) etwas anderes hat sie überschrieben.
Pacerier
1
@Pacerier oder die Direktive wurde unter dem falschen Gruppenkopf hinzugefügt, wie in der akzeptierten Antwort.
Buttle Butkus

Antworten:

26

Wenn Sie die Einstellung bereits in my.cnf oder my.cfg haben und ein Neustart nicht zu der von Ihnen erwarteten Änderung geführt hat, befindet sich die Einstellung möglicherweise nur an der falschen Stelle.

Stellen Sie sicher, dass sich die Einstellung unter dem Gruppenkopf [mysqld] befindet

[mysqld]
group_concat_max_len=15360

dann kannst du mysqld ohne sorgen neu starten

BTW @ gbn ist in diesem Fall möglicherweise korrekter, da Sie in den numerischen Einstellungen für my.cnf keine Kommas verwenden können (+1 für @ gbn).

RolandoMySQLDBA
quelle
Ich habe Stunden mit dem Debuggen verbracht, bevor mir klar wurde, dass mein group_concat_max_len zurückgesetzt wurde. Jetzt muss ich mir keine Sorgen mehr machen, dass das wieder passiert. Vielen Dank. In my.cnf gab es standardmäßig keine Einstellung für group_concat_max_len, daher habe ich sie unter [isamchk] ganz unten hinzugefügt. HOPPLA. Vielen Dank!
Buttle Butkus
Es stört mich so sehr, dass einige Einstellungen Bindestriche und andere Unterstriche in der MySQL-Konfiguration verwenden
Brian sagt Reinstate Monica
4

Verwenden Sie group_concat_max_len=15360 ohne das Tausendertrennzeichen

Siehe die Dokumentation

Wenn dies nicht so bleibt, müssen Sie die richtige my.cnf oder my.cfg identifizieren, die von Ihrer Installation verwendet wird

gbn
quelle
Vielen Dank für Ihren Kommentar. Leider war es mein Fehler, das ',' in meine Frage zu setzen, aber nicht in die my.cnf. Rolando hatte tatsächlich recht. Ich hatte keine Ahnung, dass der Speicherort für group_concat_max_len in my.cnf von Bedeutung ist.
Buttle Butkus
0

Gehen Sie wie folgt vor:
Öffnen Sie MySQL Workbench und wählen Sie die Verbindung aus, die Sie bearbeiten möchten, wenn Sie über mehrere Verbindungen verfügen. Klicken Sie dann auf Serververwaltung - Erweitert - Verschiedenes, wählen Sie group_concat_max_len aus und legen Sie den gewünschten Wert fest.
Denken Sie daran, MySQL neu zu starten.
Herzliche Grüße, Ola Balstad.

Ola Balstad
quelle
1
Das ist keine dauerhafte Einstellung.
Dennis Kaarsemaker
Es ist dauerhaft !!! Bitte überprüfen Sie, bevor Sie einen Kommentar abgeben.
Ola Balstad
Was ist MySQL Workbench? Es hört sich so an, als ob Ihre Antwort nur auf eine bestimmte API für MySQL zutrifft. Das ist wahrscheinlich der Grund, warum Sie schlecht bewertet werden. (Ich habe dich übrigens nicht abgelehnt)
Buttle Butkus
MySql Workbench ist ein nützliches API-Tool, das mit dem MySQL Community Server geliefert wird, wenn Sie ihn herunterladen, dh mit der neuesten Version 5.6
Ola Balstad,
NB !! Lassen Sie sich von meiner Bewertung nicht entmutigen. Dies ist eine schnelle und gute Lösung für ein häufiges Problem.
Ola Balstad