"PURGE MASTER LOGS" im laufenden Betrieb

"PURGE MASTER LOGS" im laufenden Betrieb

am 25.04.2007 14:50:54 von idontlikespam

Hallo NG,

Ich habe einen MySQL 5.0-Master und einen Slave - beide unter SLES 9 -
am Laufen. Nun möchte ich mir einen Dump des Masters für einen
weiteren Slave holen und hierzu mal die alten binlogs loswerden.

Bei http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.htm l
siehts zwar nett aus, aber ich möchte mir kurz vor Anwendung von

PURGE MASTER LOGS TO 'mysql-bin.vorletzteNummer';

sicher sein. Stimmt es,

* dass das im laufenden Betrieb gemacht werden kann, ohne dass mir die
Datenbank über einen längeren Zeitraum nicht verfügbar ist?

* dass das ohne FLUSH TABLES WITH READLOCK funktioniert und nach dem
Befehl alles aussieht und funzt wie vorher, abgesehen von der Ausgabe
von `df -h` auf meiner Kiste? ;)

* RESET MASTER die schlechtere Variante wäre, da ich hiermit dem Slave
die aktuelle Replikationsposition klaue?

Vielen Dank & Grüße
Dennis

Re: "PURGE MASTER LOGS" im laufenden Betrieb

am 25.04.2007 15:23:34 von Axel Schwenke

dennis_divine wrote:
>
> Ich habe einen MySQL 5.0-Master und einen Slave - beide unter SLES 9 -
> am Laufen. Nun möchte ich mir einen Dump des Masters für einen
> weiteren Slave holen und hierzu mal die alten binlogs loswerden.

Da besteht kein Zusammenhang. Die Binlogs kopierst du ja ohnehin nicht
auf den Slave. Und überhaupt: wenn du schon einen Slave hast - kopiere
den doch einfach. Einfach STOP SLAVE, dann mit mysqldump die Daten
kopieren und den zweiten Slava a'la SHOW SLAVE STATUS an der gleichen
Stelle starten.

> Bei http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.htm l
> siehts zwar nett aus, aber ich möchte mir kurz vor Anwendung von
>
> PURGE MASTER LOGS TO 'mysql-bin.vorletzteNummer';
>
> sicher sein. Stimmt es,
>
> * dass das im laufenden Betrieb gemacht werden kann, ohne dass mir die
> Datenbank über einen längeren Zeitraum nicht verfügbar ist?

Ja. Das Statement macht nichts anderes, als die alten Binlogs zu
löschen und aus dem Binlog-Indexfile auszutragen. Manche Filesysteme
brauchen allerdings recht lange, wenn man große Files löscht und
brauchen dazu auch einiges an CPU-Zeit und I/O. Das *könnte* man
natürlich auch in der Datenbank-Performance sehen.

> * dass das ohne FLUSH TABLES WITH READLOCK funktioniert und nach dem
> Befehl alles aussieht und funzt wie vorher, abgesehen von der Ausgabe
> von `df -h` auf meiner Kiste? ;)

Mit Tabellen hat das nix zu tun. Du kannst ohnehin nur abgeschlossene
Binlogs löschen. Der Server hat die höchstens noch im Zugriff, wenn
einer der Slaves noch davon liest.

> * RESET MASTER die schlechtere Variante wäre, da ich hiermit dem Slave
> die aktuelle Replikationsposition klaue?

Ist ne ganz andere Baustelle. Damit löschst du ja *alle* Binlogs -
was nicht schon auf dem Slave war, ist für den dann verloren.


XL

Re: "PURGE MASTER LOGS" im laufenden Betrieb

am 02.05.2007 16:16:25 von idontlikespam

Hallo XL,

On Apr 25, 3:23 pm, Axel Schwenke wrote:
> [...]
>
> XL


Vielen Dank! :)
Dennis