2017-10-18 4 views

Antwort

1

Nun, der Fehler ist ziemlich klar. Gehen Sie in/tmp und sehen Sie, was den Speicherplatz belegt. Sie können ncdu installieren, um eine Zusammenfassung der Festplattennutzung in diesem Ordner anzuzeigen. Dann löschen Sie, was Sie keinen Neustart benötigen MySQL

Auch 1 G ist nicht genug für einen temporären Ordner in einer Produktionsumgebung. Sie sollten überlegen, es zu erweitern.

+0

danke, wie kann ich diesen tmp-Ordner erweitern? Ich denke, das ist die beste Idee, ich habe Zugang zu whm auch, wenn dies sehr einfach sein wird – Robert

+0

Ich rate (wenn Sie genug RAM haben), um tmp ein tmpfs zu machen (so ist es im RAM gespeichert). Im Moment ist es jedoch auf einer Festplatte gespeichert, also müssen Sie die Partition, die es verwendet, erweitern: lvresize -r -L + xG/dev/mapper/vg-tmp - dies erhöht die Größe, wenn Sie genug Platz haben – DreamWave

+0

@ Robert, wenn Sie nicht genug Platz auf der Festplatte haben, überprüfen Sie bitte dieses Formular: https://www.centos.org/forums/viewtopic.php?t=55593 – DreamWave

1

Der Fehler kommt von MySQL server. Partition von MySQL hat nicht genügend Speicherplatz. Geben Sie Speicherplatz auf der Partition frei, überprüfen Sie Elemente auf einer Partition und entfernen Sie nicht benötigte Dateien. Sie können die Größe über df -h und ls -lh überprüfen und nicht benötigte Dateien entfernen oder die Größe der Festplatte erhöhen.

+0

MySQL ist wahrscheinlich unter '/', was einen Platzverlust hat. Umformuliere deine Antwort. –

1

MySQL hat eine VARIABLE namens tmpdir, die steuert, wo tmp Tabellen zu setzen. Es ist wahrscheinlich auf /tmp festgelegt. Aber es kann in ein anderes Verzeichnis geändert werden. Machen Sie aufhängen irgendwo unter /; das wird ihm Raum geben. Weitere Informationen: https://dev.mysql.com/doc/refman/5.7/en/temporary-files.html

Überprüfen Sie auch auf "Cross Joins". Wenn Sie einen SELECT, JOINs Tabellen haben, aber ohne irgendeine Qualifikation, wie die Tabellen beziehen, haben Sie möglicherweise eine "Cross-Join". Zwei Millionen-Zeilen-Tabellen in einem Kreuz-Join würden eine temporäre Tabelle mit einer Billion Zeilen erstellen. Das wäre ein Durcheinander.