1. Encontrar o valor atual do tmp_table_size
mysql> show global variables like 'tmp_tables_size';
Empty set (0,26 sec)
2. Encontrar a porcentagem de tabelas criadas no disco
mysql> show global status like 'created_tmp_disk_tables';
+-------------------------+--------+
| Variable_name | Value |
+-------------------------+--------+
| Created_tmp_disk_tables | 125193 |
+-------------------------+--------+
1 row in set (0,00 sec)
3. Continuando
mysql> show global status like 'created_tmp_tables';
+--------------------+--------+
| Variable_name | Value |
+--------------------+--------+
| Created_tmp_tables | 411690 |
+--------------------+--------+
1 row in set (0,01 sec)
4. Calculando
Tmp_disk_tables=((created_tmp_disk_tables*100/(created_tmp_tables+created_tmp_disk_tables))
= ((125193*100/(411690 + 125193))
= 23.32%
5. Ajustando
Caso o valor encontrado no cálculo do item 4 exceda 25%, aumentar o valor da variável tmp_table_size e repetindo o mesmo valor na variável max_heap_table_size
vi /etc/my.cnf
tmp_table_size=xxx
max_heap_table_size=xxx
6. Reiniciar o serviço MySQL