Page 1 of 1

mysql binlogs regelmässig entfernen

Posted: 2007-12-26 21:32
by ccc
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 ?

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-26 21:52
by duergner
Die sollte MySQL eigentlich selbststaendig entfernen. Oder irre ich das jetzt?

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-26 22:00
by flo
MySQL und logrotate schmeißen doch keine Binlogs weg!?

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

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-26 23:12
by daemotron
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.

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-26 23:36
by ccc
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

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-27 01:20
by daemotron
`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.

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-27 02:06
by Roger Wilco
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:

Re: mysql binlogs regelmässig entfernen

Posted: 2007-12-27 02:55
by ccc
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 !