最近有张表经常损坏,修复后还是会出现损坏。
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'