最近有张表经常损坏,修复后还是会出现损坏。
dba分析有可能是临时表空间太小导致的。以下是设置临时表空间大小的操作。
设置 tmp_table_size的大小
mysql> set global tmp_table_size=512*1024*1024; Query OK, 0 rows affected (0.01 sec)
查看 tmp_table_size的大小
mysql> show variables like '%tmp%'; +----------------------------+-----------+ | Variable_name | Value | +----------------------------+-----------+ | default_tmp_storage_engine | InnoDB | | max_tmp_tables | 32 | | slave_load_tmpdir | /tmp | | tmp_table_size | 536870912 | | tmpdir | /tmp | +----------------------------+-----------+
动态设置tmp_table_size的大小的时候,要使用:
set global tmp_table_size=64*1024*1024
而不是:
set global tmp_table_size=64M
否则就会出现错误:
#1232 - Incorrect argument type to variable 'tmp_table_size'