mysql binlogs regelmässig entfernen

MySQL, PostgreSQL, SQLite
ccc
Posts: 55
Joined: 2004-02-19 12:02

mysql binlogs regelmässig entfernen

Post by ccc » 2007-12-26 21:32

hallo

habe debian etch stable mit mysql-server 5.0
wie kann ich konfigurieren, um diese binlogs files regelmässig zu entfernen ?

Code: Select all

# ls -la /var/log/mysql
total 124
drwxr-s---  2 mysql adm   4096 2007-12-26 21:24 .
drwxr-xr-x 14 root  root  4096 2007-12-26 21:00 ..
-rw-rw----  1 mysql adm  13823 2007-12-25 23:24 mysql-bin.000001
-rw-rw----  1 mysql adm  13823 2007-12-25 23:25 mysql-bin.000002
-rw-rw----  1 mysql adm  13823 2007-12-25 23:26 mysql-bin.000003
-rw-rw----  1 mysql adm  13823 2007-12-26 21:23 mysql-bin.000004
-rw-rw----  1 mysql adm  13823 2007-12-26 21:24 mysql-bin.000005
-rw-rw----  1 mysql adm  13823 2007-12-26 21:24 mysql-bin.000006
-rw-rw----  1 mysql adm  13804 2007-12-26 21:24 mysql-bin.000007
-rw-rw----  1 mysql adm    224 2007-12-26 21:24 mysql-bin.index


kann ich logrotate verwenden ?
Last edited by ccc on 2007-12-26 22:30, edited 5 times in total.

duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: mysql binlogs regelmässig entfernen

Post by duergner » 2007-12-26 21:52

Die sollte MySQL eigentlich selbststaendig entfernen. Oder irre ich das jetzt?

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: mysql binlogs regelmässig entfernen

Post by flo » 2007-12-26 22:00

MySQL und logrotate schmeißen doch keine Binlogs weg!?

@ ccc: Weißt Du, was diese Dateien tun? Wenn Du Binlog nicht brauchst --> ausschalten.

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: mysql binlogs regelmässig entfernen

Post by daemotron » 2007-12-26 23:12

Ich purge mein Binlog immer nach jedem Full Backup - gebraucht wird' s ja eigentlich für ein Roll Forward/Point-in-Time-Recovery. Den Befehl dafür bringt MySQL selbst mit:

Code: Select all

#Im MySQL-Client
purge master logs to <letztes-binlog-file>

#Oder von der Shell
mysql -uroot -ptop_secret -e "purge master logs to <letztes-binlog-file>"
Wie flo schon geschrieben hat - tu das nur, wenn Du das Binlog bis zu <letztes-binlog-file> nicht mehr brauchst (z. B. weil Du einen vollständigen mysqldump der Datenbank oder ein Full Backup des Datenverzeichnisses) gezogen hast. Schau Dir mal die Stickies von isotopp an - insbesondere MySQL 7: Niemand will Backup, alle wollen Restore. oder den passenden Artikel im RootForum-Wiki.

ccc
Posts: 55
Joined: 2004-02-19 12:02

Re: mysql binlogs regelmässig entfernen

Post by ccc » 2007-12-26 23:36

habe in cron 1 minute vor backups folgende zeile:

mysqladmin -u root -pmypassword flush-logs

gemäss:

http://dev.mysql.com/tech-resources/art ... overy.html

gesetzet.

Code: Select all

# mysql backup daily

58 23 * * *     mysqladmin -u root -pmypassword flush-logs

59 23 * * *     mysqldump -u root --password=mypassword MyAddressbook > /var/save/mysql/daily/MyAddressbook


# mysql backup weekly

14 3 1,15 * *   mysqladmin -u root -pmypassword flush-logs

15 3  1,15 * *  mysqldump -u root --password=mypassword MyAddressbook > /var/save/mysql/weekly/MyAddressbook


# mysql backup monthly

14 4  1 * *     mysqladmin -u root -pmypassword flush-logs

15 4  1 * *     mysqldump -u root --password=mypassword MyAddressbook > /var/save/mysql/monthly/MyAddressbook

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: mysql binlogs regelmässig entfernen

Post by daemotron » 2007-12-27 01:20

`flush-logs` sorgt dafür, dass zum Zeitpunkt des Backups keine offenen Transaktionen mehr im Binlog hängen (vorausgesetzt, Du sorgst mit geeigneten Locks oder einem Shutdown des DB-Servers dafür, dass nach dem flush-logs keine schreibenden Transaktionen mehr eintrudeln können, bis das Backup durch ist). Demnach könntest Du nach einem Backup das Binlog ruhig purgen, falls Dir an Transaktionen zu anderen Datenbanken als zu der von Dir gesicherten nichts liegt bzw. Du die Daten anderweitig wieder herstellen könntest.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: mysql binlogs regelmässig entfernen

Post by Roger Wilco » 2007-12-27 02:06

ccc wrote:habe in cron 1 minute vor backups folgende zeile:

Und was machst du, wenn der Vorgang länger als 1 Minute dauert? :roll:

ccc
Posts: 55
Joined: 2004-02-19 12:02

Re: mysql binlogs regelmässig entfernen

Post by ccc » 2007-12-27 02:55

Roger Wilco wrote:
ccc wrote:habe in cron 1 minute vor backups folgende zeile:

Und was machst du, wenn der Vorgang länger als 1 Minute dauert? :roll:


gute frage, aber wenn ich vom command line starte, dann dauert nur 2 secunden !