Mysql tmp_table_size et max_heap_table_size ne fonctionnent pas

8

J'ai défini la taille de la table tmp sur une valeur plus élevée dans mon my.cnffichier comme ceci:

tmp_table_size = 64M
max_heap_table_size = 64M

Mais ça ne marche pas. J'ai utilisé ce script pour le vérifier. Même après le redémarrage, cela montre toujours que 16M est la valeur par défaut.

Qu'est-ce que je fais mal?

THpubs
la source

Réponses:

15

Vous devez vous assurer que les paramètres vont sous le [mysqld]groupe dans /etc/my.cnf

[mysqld]
tmp_table_size = 64M
max_heap_table_size = 64M

puis faites l'une des deux choses suivantes:

OPTION 1: redémarrez mysql

service mysql restart

OPTION 2: définissez-le globalement pour les nouvelles connexions entrantes (redémarrage non requis)

SET GLOBAL tmp_table_size = 1024 * 1024 * 64;
SET GLOBAL max_heap_table_size = 1024 * 1024 * 64;

Essaie !!!

RolandoMySQLDBA
la source
à noter que SET GLOBAL ...ne persiste pas un redémarrage du service, (au moins dans 5.0, pas essayé cela dans 5.5).
Oneiroi
@Oneiroi C'est pourquoi j'ai dit d'abord ajouter les variables à my.cnf sous l'en- [mysqld]tête du groupe. Ensuite, définissez-les dynamiquement au cas où un redémarrage ne serait pas possible pendant les heures normales de bureau ...
RolandoMySQLDBA
ah c'est ce que j'obtiens pour la lecture rapide, ma mauvaise.
Oneiroi
0

Supprimez les espaces de votre my.cnf.

[mysqld]
...
tmp_table_size=64M
max_heap_table_size=64M
...

Si je devais résoudre le problème, j'ai moi-même été rattrapé par le passé.

Oneiroi
la source