MySQL-Daten werden im Datenordner am vom Benutzer angegebenen oder Standardspeicherort gespeichert. Das standardmäßige tmpdir wird auch im Datenordner gespeichert und kann nicht einfach gelöscht werden.
Fehlerquelle?
Unzureichender Speicherplatz im oberen Verzeichnis /data, in dem sich das MySQL-Datenverzeichnis /data/mysql befindet, führte dazu, dass MySQL nicht gestartet werden konnte, sodass andere nutzlose Verzeichnisse im Verzeichnis /data außer dem Unterverzeichnis mysql vorhanden waren aufgeräumt. Der Neustart der Erkennung schlug immer noch fehl. Überprüfen Sie das Fehlerprotokoll.
Siehe den folgenden Fehler:
/usr/local/mysql/bin/mysqld: Datei „/data/tmp/ibbLmEoD“ kann nicht erstellt/geschrieben werden (Fehlercode: 13 – Berechtigung verweigert)
Es stellte sich heraus, dass beim Bereinigen nutzloser Verzeichnisse das in der MySQL-Konfigurationsdatei angegebene Verzeichnis tmpdir-/data/tmp versehentlich gelöscht wurde, was dazu führte, dass einige temporäre Dateien oder Tabellen beim Start von MySQL Server nicht beschreibbar waren . , was dazu führt, dass der Start fehlschlägt. Nachdem Sie das Verzeichnis neu erstellt und die richtigen Berechtigungen erteilt haben, starten Sie MySQL Server neu und starten Sie ihn normal.
Sprechen wir über den temporären MySQL-Verzeichnisparameter:
Befehlszeilenparameterformat: --tmpdir=path
Konfigurationsdateiparameterformat:tmpdir=path
Das temporäre Verzeichnis wird zum Speichern temporärer Dateien oder temporärer Tabellen verwendet. Der Wert kann eine durch „:“ (Unix) oder „;“ (Windows) getrennte Liste von Pfaden sein, die wiederum verwendet werden können, um die Last auf verschiedene Festplatten zu verteilen. Wenn der MySQL-Server als Slave fungiert, können Sie dieses Verzeichnis nicht auf ein Verzeichnis verweisen, das auf dem Speicherdateisystem basiert oder auf ein Verzeichnis, das beim Neustart des Hosts bereinigt wird, da der Slave diese Dateien zum Kopieren der temporären Tabelle oder benötigt Führen Sie den LOAD DATA INFILE-Vorgang aus. Der Verlust dieser Dateien führt dazu, dass die Replikation fehlschlägt. Das bedeutet, dass das tmpdir des Slaves nicht auf das Standardverzeichnis /tmp des Linux-Systems gesetzt werden kann. Für Slave können Sie ein anderes Konfigurationselement Slave_load_tmpdir verwenden, um sein temporäres Verzeichnis festzulegen, sodass Slave das durch die allgemeine Option tmpdir festgelegte temporäre Verzeichnis nicht verwenden kann. Für MySQL-Server in Nicht-Slave-Rollen gibt es keine solche Einschränkung.
Wenn das temporäre Verzeichnis nicht existiert oder die Berechtigungen falsch sind, führt dies nicht nur dazu, dass MySQL Server nicht gestartet werden kann, sondern führt auch dazu, dass andere MySQL-Dienstprogramme, die das temporäre Verzeichnis verwenden könnten, nicht ordnungsgemäß ausgeführt werden. Viele MySQL-bezogene Programme lesen Optionswerte aus der MySQL-Server-Konfigurationsdatei, z. B. das vollständige Sicherungsprogramm xtrabackup. Der folgende Fehler wird dadurch verursacht, dass das in der MySQL-Server-Konfigurationsdatei angegebene temporäre Verzeichnis nicht vorhanden ist.
xtrabackup_56: Datei „/data/tmp/ibHbumcM“ kann nicht erstellt/geschrieben werden (Fehlercode: 2 – Keine solche Datei oder kein solches Verzeichnis)
23.07.2014 16:04: 42 7f1b25c607e0 InnoDB: Fehler: temporäre Datei konnte nicht erstellt werden; Fehlernummer: 2 in /usr/bin/innobackupex Zeile 389.
Das obige ist der detaillierte Inhalt vonWo ist das Standard-tmpdir von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!