How to fix `The table '/tmp/mysql/#sql_xxxxx' is full`?
The relevant configuration is this:


  ibtmp1:12M:autoextend:max:512M


You are restricting your temporary tables (and similarly your main innodb tablespace via innodb_data_file_path) to 512M total.  This includes implicit (disk) temporary tables that might be created by various ORDER BY / GROUP BY / DISTINCT operations.

MySQL reports this failure relative to your configured tmpdir, although it's actually using the ibtmp1 file.

Increase or remove the :max:&lt;size&gt; limit to resolve this.  

Alternatively you might find a way to avoid these sort of temporary tables by inspecting the offending queries - possibly via adding an index, changing data types or changing the query itself among other strategies.