max_binlog_files,是Percona MySQL分支提供的限制binlog文件數量的參數,在刪除歸檔數據、binlog增長很快的情況下,很實用的一個參數。
該參數也對正在被使用的binlog提供了保護,是purge不掉的,如下。
[[email protected]][(none)]>purge binary logs to 'bin.016222';
Query OK, 0 rows affected, 1 warning (0.01 sec)
[[email protected]][(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