mysql tmp_table_size和max_heap_table_size不起作用


8

我在my.cnf文件中将表tmp大小设置为更高的值,如下所示:

tmp_table_size = 64M
max_heap_table_size = 64M

但这不起作用。我使用此脚本进行了检查。即使重新启动后,它仍然显示16M是默认值。

我究竟做错了什么?

Answers:


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;

试试看 !!!


值得注意的是,SET GLOBAL ...该服务不会持续进行服务重启(至少在5.0中,没有在5.5中尝试过)。
Oneiroi 2012年

@Oneiroi那就是为什么我说首先在[mysqld]组头下将变量添加到my.cnf的原因。然后,动态设置它们,以防在正常工作时间内无法重启...
RolandoMySQLDBA 2012年

啊,那是我读略读的东西,我的坏。
Oneiroi 2012年

0

从my.cnf中删除空格。

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

应该解决问题,过去我自己对此一直感到困惑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.