Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL, Fehler 126:Falsche Schlüsseldatei für Tabelle

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

bearbeiten

Wenn 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;