The table '/mnt/disks/data/tmp/#sql58de_a0f6_7' is full
The query is quite complex/big. Lots of joins in joins and unions, sorting, grouping, ... 1 out of 10 the result is returned. Otherwise it results in the above error.
CPU and memory increase but never max out while running the query. There is plenty of disk space (100Gb free).
I have fiddled with:
innodb_log_file_size
innodb_log_buffer_size
innodb_temp_data_file_path
innodb_data_file_path
innodb_data_home_dir
max_heap_table_size
tmp_table_size
table_open_cache
table_definition_cache
thread_cache_size
sort_buffer_size
tmpdir
and slave_load_tmpdir
are set to /mnt/disks/data/tmp
which has plenty of space and nevers runs out of space when running the query. innodb_tmpdir
is set to NULL
which means it falls back to tmpdir
?
Some settings I've changed because of things I read about this issue. Others after mysqltuner advice. But I could not let the query succeed consistently.
So: there is something running out of space. But what? And where?
- Version:
Ver 8.0.23 for Linux on x86_64 (MySQL Community Server - GPL)
- Storage engine:
InnoDB
du
ON
clause whenJOINing
. We must see the query andSHOW CREATE TABLE
.df -h
on your system. Also, please provideSHOW CREATE TABLE\G
for all of the query's tables and also the query SQL itself.The table '/mnt/disks/data/tmp/#sql58de_a0f6_7' is full
, was the disk full also ???.ibd
or.MYD