Restricting the number of binlog files

Maximum number of binlog files can now be restricted in Percona Server with max_binlog_files. When variable max_binlog_files is set to non-zero value, the server will remove the oldest binlog file(s) whenever their number exceeds the value of the variable.

This variable can be used with the existing max_binlog_size variable to limit the disk usage of the binlog files. If max_binlog_size is set to 1G and max_binlog_files to 20 this will limit the maximum size of the binlogs on disk to 20G. The actual size limit is not necessarily max_binlog_size * max_binlog_files. Server restart or FLUSH LOGS will make the server start a new log file and thus resulting in log files that are not fully written in these cases limit will be lower.

Version Specific Information

System Variables

variable max_binlog_files
Version Info:
Command Line:


Config File:






Variable Type:


Default Value:

0 (unlimited)




Number of the binlog files before setting this variable

$ ls -l mysql-bin.0* | wc -l

Variable max_binlog_files is set to 20:

max_binlog_files = 20

In order for new value to take effect FLUSH LOGS needs to be run. After that the number of binlog files is 20

$ ls -l mysql-bin.0* | wc -l
© Copyright Percona LLC and/or its affiliates 2009-2015.
Except where otherwise noted, this documentation is licensed under the following license:
CC Attribution-ShareAlike 2.0 Generic
Created using Sphinx 1.2.2.
This documentation is developed in Launchpad as part of the Percona Server source code.
If you spotted innacuracies, errors, don't understood it or you think something is missing or should be improved, please file a bug.