max_binlog_files,是Percona MySQL分支提供的限制binlog文件数量的参数,在删除归档数据、binlog增长很快的情况下,很实用的一个参数。
该参数也对正在被使用的binlog提供了保护,是purge不掉的,如下。
[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.
error日志中也是用体现的。
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