Mysql tmp_table_size e max_heap_table_size não estão funcionando

8

Eu defino o tamanho da tabela tmp para um valor mais alto no meu my.cnfarquivo, assim:

tmp_table_size = 64M
max_heap_table_size = 64M

Mas não está funcionando. Eu usei esse script para verificá-lo. Mesmo após a reinicialização, ele ainda mostra que 16M é o valor padrão.

O que estou fazendo errado?

THpubs
fonte

Respostas:

15

Você precisa garantir que as configurações estejam dentro do [mysqld]grupo em /etc/my.cnf

[mysqld]
tmp_table_size = 64M
max_heap_table_size = 64M

faça uma de duas coisas:

OPÇÃO 1: Reinicie o mysql

service mysql restart

OPÇÃO 2: configure-o globalmente para novas conexões de entrada (não é necessário reiniciar)

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

De uma chance !!!

RolandoMySQLDBA
fonte
vale ressaltar que SET GLOBAL ...não persiste uma reinicialização do serviço (pelo menos no 5.0, não tentei isso no 5.5).
Oneiroi 22/03/12
@ Oneiroi É por isso que eu disse primeiro adicione as variáveis ​​ao my.cnf no [mysqld]cabeçalho do grupo. Em seguida, defina-os dinamicamente, caso uma reinicialização não seja possível durante o horário comercial normal ...
RolandoMySQLDBA 22/03
ah é o que eu ganho pela leitura superficial, meu mal.
Oneiroi 22/03/12
0

Remova os espaços do seu my.cnf.

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

Se resolver o problema, eu já fui pego por isso no passado.

Oneiroi
fonte