Définir définitivement group_concat_max_len (configuration MySQL)

20

J'ai installé MySQL sur une machine Ubuntu.

J'ai ajouté cette ligne dans /etc/mysql/my.cnf

group_concat_max_len = 15360

Mais il n'y a aucun effet. Chaque fois que je redémarre mysql, la valeur est définie sur 1 024. Je dois exécuter manuellement

SET GLOBAL group_concat_max_len=15360

... chaque fois que je démarre mysql.

Pourquoi my.cnf ne fonctionne pas comme je le pensais? Je vous remercie

Buttle Butkus
la source
Cela arrive toujours. C'est soit 1) un mauvais fichier, soit 2) autre chose ci-dessous l'avait écrasé.
Pacerier
1
@Pacerier ou la directive a été ajoutée sous le mauvais en-tête de groupe, comme dans la réponse acceptée.
Buttle Butkus

Réponses:

26

Si vous avez déjà le paramètre dans my.cnf ou my.cfg et qu'un redémarrage n'a pas provoqué la modification que vous attendiez, vous pouvez simplement placer le paramètre au mauvais endroit.

Assurez-vous que le paramètre est sous l'en-tête du groupe [mysqld]

[mysqld]
group_concat_max_len=15360

alors vous pouvez redémarrer mysqld sans souci

BTW @ gbn peut être plus correct dans ce cas car vous ne pouvez pas utiliser de virgules dans les paramètres numériques de my.cnf (+1 pour @gbn)

RolandoMySQLDBA
la source
J'ai passé des heures à déboguer avant de réaliser que mon group_concat_max_len était réinitialisé. Maintenant, je n'aurai plus à m'inquiéter que cela se reproduise. Merci beaucoup. Il n'y avait pas de paramètre pour group_concat_max_len par défaut dans my.cnf, donc je l'ai juste ajouté en bas, sous [isamchk]. OUPS. Merci beaucoup!
Buttle Butkus
Cela me dérange tellement que certains paramètres utilisent des tirets et certains utilisent des traits de soulignement dans la configuration MySQL
Brian dit Reinstate Monica
4

Utiliser group_concat_max_len=15360 sans le séparateur de milliers

Voir les documents

Si cela ne persiste pas, vous devez identifier le bon my.cnf ou my.cfg utilisé par votre installation

gbn
la source
Merci pour votre commentaire. Malheureusement, c'est mon erreur de mettre le «,» dans ma question mais pas dans le my.cnf. Rolando avait en fait raison. Je ne savais pas que l'emplacement de group_concat_max_len importait dans my.cnf.
Buttle Butkus
0

Voici ce que je fais:
Ouvrez MySQL Workbench et sélectionnez la connexion que vous souhaitez manipuler si vous en avez plusieurs, puis cliquez sur Administration du serveur - Avancé - Divers, sélectionnez group_concat_max_len et définissez la valeur souhaitée.
N'oubliez pas de redémarrer MySql.
Cordialement, Ola Balstad.

Ola Balstad
la source
1
Cela ne définit pas un cadre permanent.
Dennis Kaarsemaker
C'est permanent !!! Veuillez vérifier avant de commenter.
Ola Balstad
Qu'est-ce que MySQL Workbench? Il semble que votre réponse ne s'applique qu'à une API particulière pour MySQL. C'est probablement la raison pour laquelle vous obtenez un vote négatif. (Je ne vous ai pas downvote, au fait)
Buttle Butkus
MySql Workbench est un outil API utile fourni avec le serveur de communauté MySQL lorsque vous le téléchargez, c'est-à-dire avec la dernière version 5.6
Ola Balstad
NB !! Ne vous découragez pas par ma note. Il s'agit d'une solution rapide et efficace à un problème courant.
Ola Balstad