Mysql tmp_table_size и max_heap_table_size не работают

8

Я установил для таблицы tmp size более высокое значение в моем my.cnfфайле следующим образом:

tmp_table_size = 64M
max_heap_table_size = 64M

Но это не работает. Я использовал этот скрипт, чтобы проверить это. Даже после перезагрузки по-прежнему отображается значение по умолчанию 16M.

Что я делаю неправильно?

THpubs
источник

Ответы:

15

Вы должны убедиться, что настройки идут под [mysqld]группой в /etc/my.cnf

[mysqld]
tmp_table_size = 64M
max_heap_table_size = 64M

затем сделайте одно из двух:

ВАРИАНТ 1: Перезапустите MySQL

service mysql restart

ВАРИАНТ 2: Установите его глобально для новых входящих соединений (перезапуск не требуется)

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

Попробуйте!

RolandoMySQLDBA
источник
Стоит отметить, что SET GLOBAL ...не сохраняется перезапуск службы, (по крайней мере, в 5.0, не пробовал это в 5.5).
Онейрой
@Oneiroi Вот почему я сказал, что сначала добавьте переменные в my.cnf под [mysqld]заголовком группы. Затем установите их динамически, если перезапуск был невозможен в обычное рабочее время ...
RolandoMySQLDBA
ах это то, что я получаю за чтение, мой плохой.
Онейрой
0

Удалите пробелы из вашего my.cnf.

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

Должен решить проблему, я был пойман этим в прошлом сам.

Oneiroi
источник