Ustaw group_concat_max_len na stałe (konfiguracja MySQL)

20

Mam MySQL zainstalowany na maszynie Ubuntu.

Dodałem tę linię w /etc/mysql/my.cnf

group_concat_max_len = 15360

Ale nie ma efektu. Za każdym razem, gdy ponownie uruchamiam mysql, wartość jest ustawiana na 1024. Muszę ręcznie uruchomić

SET GLOBAL group_concat_max_len=15360

... za każdym razem, gdy uruchamiam mysql.

Dlaczego mój.cnf nie działa tak, jak myślałem, że powinien? Dziękuję Ci

Buttle Butkus
źródło
To się zawsze zdarza. To albo 1) zły plik, albo 2) coś innego poniżej go zastąpiło.
Pacerier
1
@Pacerier lub dyrektywa została dodana pod niewłaściwym nagłówkiem grupy, jak w zaakceptowanej odpowiedzi.
Buttle Butkus

Odpowiedzi:

26

Jeśli masz już ustawienie my.cnf lub my.cfg, a ponowne uruchomienie nie przyniosło oczekiwanej zmiany, możesz po prostu umieścić to ustawienie w niewłaściwej lokalizacji.

Upewnij się, że ustawienie znajduje się pod nagłówkiem grupy [mysqld]

[mysqld]
group_concat_max_len=15360

możesz ponownie uruchomić mysqld bez obaw

BTW @ gbn może być w tym przypadku bardziej poprawne, ponieważ nie można używać przecinków w ustawieniach numerycznych dla my.cnf (+1 dla @gbn)

RolandoMySQLDBA
źródło
Sporo godzin spędziłem na debugowaniu, zanim zdałem sobie sprawę, że mój group_concat_max_len został zresetowany. Teraz nie będę musiał się martwić, że to się powtórzy. Dzięki wielkie. Domyślnie nie było ustawienia dla group_concat_max_len w my.cnf, więc właśnie dodałem go na dole, w [isamchk]. OOPS. Dzięki wielkie!
Buttle Butkus
Wkurza mnie tak bardzo, że niektóre ustawienia używają myślników, a niektóre podkreślenia w konfiguracji MySQL
mówi Brian Reinstate Monica
4

Używaj group_concat_max_len=15360 bez separatora tysięcy

Zobacz dokumenty

Jeśli to się nie utrzyma, musisz zidentyfikować poprawny plik my.cnf lub my.cfg użyty w instalacji

gbn
źródło
Dzięki za komentarz. Niestety, moim błędem było wstawienie „,” w moim pytaniu, ale nie w my.cnf. Rolando miał rację. Nie miałem pojęcia, że ​​lokalizacja group_concat_max_len ma znaczenie w my.cnf.
Buttle Butkus
0

Oto, co robię:
Otwórz MySQL Workbench i wybierz połączenie, którym chcesz manipulować, jeśli masz więcej niż jeden, a następnie kliknij Administracja serwera - Zaawansowane - Różne, wybierz group_concat_max_len i ustaw swoją długo pożądaną wartość.
Pamiętaj, aby ponownie uruchomić MySql.
Z poważaniem, Ola Balstad.

Ola Balstad
źródło
1
To nie jest ustawienie na stałe.
Dennis Kaarsemaker
To jest trwałe !!! Sprawdź, zanim skomentujesz.
Ola Balstad
Co to jest mysql workbench? Wygląda na to, że Twoja odpowiedź dotyczy tylko określonego interfejsu API dla MySQL. Prawdopodobnie dlatego jesteś poniżany. (Nawiasem mówiąc, nie przegłosowałem)
Buttle Butkus
MySql Workbench to przydatne narzędzie API, które jest dostarczane z MySQL Community Server podczas pobierania, tj. Z najnowszą wersją 5.6
Ola Balstad
NB !! Nie zniechęcaj się moją oceną. Jest to szybkie i dobre rozwiązanie typowego problemu.
Ola Balstad