So it turns out that what is filling up my root partition is my MySQL binary logs.
A collection of fat files in /var/log/mysql …
So I had several options:
- Move the logs to a different partition
- Increase the size of the root partition
- Decrease the size of the logs
The first option is probably the most reasonable one. But since I had other plans for the evening I actually went with the last option: decreasing the size of the logs! :roll:
The magic conf is located in /etc/mysql/my.cnf and the magic line is:
expire_logs_days = 5
It was set to 10 but I have no idea why I even need 5 days. Aren’t those logs only useful until transactions commit to disk, and replication executes. Oh maybe if you have replicated slaves more than 5 days behind the master??
Edit 2009: You can purge the logs up to a specific file with a statement like this:
PURGE BINARY LOGS TO 'mysql-bin.000666';
Comments from long ago:
Comment from: dAniel hAhler
AFAIK binary logs are only needed for replication, not with a single server. ..and for “restore operations”, as per http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
You might want to disable them completely.
Comment from: Gordon
^Exactly. Bin logs are only needed for replicated setups. You can disable binlogging by commenting out the appropriate line in my.cnf.
Comment from: Ronald Bradford
MySQL Binary logs are critical for point in time recovery. i.e. all the data inserted/changed since your last static backup.
The comments about only needed for replication is not the full story.