Was sind diese Dateien? Kann ich sie manuell löschen?

11
[root@jiaoyou mysql]# pwd
/var/lib/mysql
[root@jiaoyou mysql]# ls -ls
338256 -rw-rw---- 1 mysql mysql 346030080 2010-04-22 08:08 ibdata1
626812 -rw-rw---- 1 mysql mysql 641222072 2010-01-26 07:17 mysql-bin.000008
316892 -rw-rw---- 1 mysql mysql 324173772 2010-03-25 12:51 mysql-bin.000009
52724 -rw-rw---- 1 mysql mysql  53931666 2010-04-12 12:13 mysql-bin.000010
10136 -rw-rw---- 1 mysql mysql  10359639 2010-04-22 08:32 mysql-bin.000011

mysql> SHOW BINARY LOGS; 
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000008 | 641222072 | 
| mysql-bin.000009 | 324173772 | 
| mysql-bin.000010 |  53931666 | 
| mysql-bin.000011 |  10360680 | 
+------------------+-----------+

Diese Dateien ibdata1, mysql-bin.000008und mysql-bin.000009... nehmen zu viel von meinem Platz, wird es ok für mich , einige von ihnen von Hand zu löschen?

UPDATE Ich verwende nicht den Master / Slave von MySQL. Wie kann ich alle Binärdateien löschen und deaktivieren?

Apache
quelle
SHIN BINARY LOGS; Möglicherweise wird eine Fehlermeldung wie "Fehler 1381: Sie verwenden keine binäre Protokollierung" zurückgegeben.
Bronzemann
Was bedeutet das, wenn Sie den Fehler 1381 erhalten: Sie verwenden keine binäre Protokollierungsnachricht? Ist es dann sicher, die Dateien manuell zu löschen?
Dan J.

Antworten:

9

Das sind MySQL-Bin-Protokolle. Der Server kann ernsthaft irritiert werden, wenn Sie sie mit rm löschen.

Verwenden Sie stattdessen PURGE BINARY LOGS TO 'mysql-bin.010';als Root-MySQL-Benutzer, damit die Dateien sicher gelöscht werden.

Weitere Informationen finden Sie hier in der Dokumentation.

Tom O'Connor
quelle
Welche Beziehung besteht zwischen diesen BINARY LOGS?
Apache
Dies sind die Dateien, die sich in Ihrem Datenbankverzeichnis / var / lib / mysql befinden.
Tom O'Connor
5

Dies sind die Protokolldateien für den MySQL-Dienst. Die Einstellung kann durch Aktualisieren der Datei /etc/my.cnf angepasst werden

Wenn sie Ihren Speicherplatz belegen, fügen Sie die Einstellung zum automatischen Löschen von Protokollen hinzu, basierend auf der Anzahl der Tage, die Sie behalten möchten

Zum Beispiel löscht die folgende Einstellung alle Protokolle, die älter als 90 Tage sind

**expire_logs_days=100**

Um diese Einstellung widerzuspiegeln, müssen wir den MySQL-Dienst neu starten

/etc/init.d/mysql restart

Hoffe das hilft

Sanjay Bharwani
quelle
Dies ist die langlebigste Lösung. Auch der einfachste Weg, um zu löschen, wenn Sie sich nicht ganz an Ihre MySQL-Passwörter erinnern :-)
Kasimir
Beste Lösung aller Zeiten! Wenn Sie alle Dateien löschen möchten, stellen Sie einfach 0 Tage ein und kehren Sie dann zu einem guten Wert zurück, der auf Ihrer Anwendung basiert. Danke Kumpel!
Fábio N Lima
4

Die mysql-binDateien sind die binären Protokolle, die normalerweise sowohl für einen Transaktionsverlauf als auch zum Zwecke der Replikation erstellt werden. Um die binäre Protokollierung zu deaktivieren, können Sie die log-bin*Zeilen im cnf kommentieren. log-slave-updatessollte auch kommentiert werden, wenn aktiviert.

ibdata*Dateien sind Teil des Tabellenbereichs von InnoDB, der mit der innodb_data_file_pathEinstellung angegeben wird. Ich würde das Löschen nur empfehlen, wenn Sie keine InnoDB-Tabellen haben und InnoDB zuerst mithilfe von skip-innodbcnf deaktivieren .

Warner
quelle
Muss ich das kommentieren server-id, um es zu deaktivieren?
Apache
Nein, das tust du nicht, aber du könntest. Dies wird verwendet, um den Server während der Replikation eindeutig zu identifizieren.
Warner
0

Um die Protokollierung vollständig zu deaktivieren, müssen Sie den Wert des Protokollbereichs in Ihrer Konfigurationsdatei (normalerweise /etc/my.cnf) auskommentieren:

#log-bin = /var/log/mysql/mysql-bin.log

Ich denke, dass die Datei ibdata1 möglicherweise die eigentliche Datenbank enthält - ich verwende innodb nicht, daher bin ich mir nicht sicher - und würde daher nicht empfehlen, diese zu entfernen. Der Befehl "PINGE BINARY LOGS TO ..." entfernt jedoch die Binärprotokolle.

Malonso
quelle