Es scheint, dass Ihre Abfrage eine große Zwischenergebnismenge zurückgibt, die die Erstellung einer temporären Tabelle erfordert, und dass der konfigurierte Speicherort für temporäre mysql-Festplattentabellen (/tmp) nicht groß genug für die resultierende temporäre Tabelle ist.
Sie könnten versuchen, die Größe der tmpfs-Partition zu erhöhen, indem Sie sie neu einhängen:
mount -t tmpfs -o remount,size=1G tmpfs /tmp
Sie können diese Änderung dauerhaft machen, indem Sie /etc/fstab
bearbeitenWenn Sie dies nicht können, können Sie versuchen, den Speicherort der disktemporären Tabellen zu ändern, indem Sie den Eintrag "tmpdir" in Ihrer my.cnf-Datei bearbeiten (oder hinzufügen, falls er noch nicht vorhanden ist). Denken Sie daran, dass das von Ihnen gewählte Verzeichnis für den mysql-Benutzer beschreibbar sein sollte
Sie können auch versuchen, die Erstellung einer temporären Tabelle auf der Festplatte zu verhindern, indem Sie die Werte für die mysql-Konfigurationsoptionen erhöhen:
tmp_table_size
max_heap_table_size
zu größeren Werten. Sie müssen beide oben genannten Parameter erhöhen
Beispiel:
set global tmp_table_size = 1G;
set global max_heap_table_size = 1G;