Exquisite parameter-max_binlog_files
Max_binlog_files is a parameter provided by the Percona MySQL branch to limit the number of binlog files. It is a very practical parameter when archived data is deleted and binlog grows rapidly.
This parameter also provides protection for the binlog being used, which is purge-proof, as shown below.
[root@mysql.sock] [(none)] > purge binary logs to 'bin.016222'
Query OK, 0 rows affected, 1 warning (0.01 sec)
[root@mysql.sock] [(none)] > > show warnings
+-+
| | Level | Code | Message | |
+-+
| Warning | 1867 | file. / bin.016215 was not purged because it was being read by 1 thread (s), purged only 0 out of 7 files. | |
+-+
1 row in set (0.00 sec)
$perror 1867
MySQL error code 1867 (ER_WARN_PURGE_LOG_IN_USE): file% s was not purged because it was being read by% d thread (s), purged only% d out of% d files.
It is also reflected in the error log.
2019-09-18T01:02:56.643574+08:00 10326541 [Warning] file. / bin.016215 was not purged because it was being readby thread number 17218543
2019-09-18T01:03:18.196285+08:00 17244031 [Warning] file. / bin.016215 was not purged because it was being readby thread number 17218543