MySQL binlog_expire_logs_seconds 不起作用

rub*_*hak 4 mysql binary-log

我已使用SET GLOBAL binlog_expire_logs_seconds = 259200;查询配置数据库以清除 3 天之前的二进制日志。使用 MySQL 8.0.22。这似乎没有任何影响。bin 日志在 /var/lib/mysq/dbname-bin.000xx 文件下累积。执行

PURGE BINARY LOGS BEFORE '2020-.......' 
Run Code Online (Sandbox Code Playgroud)

有效,但我希望数据库引擎自行清除这些日志,而无需自己调用它。否则二进制日志会占用大部分磁盘空间。请建议。

Lar*_*ryN 5

我遇到了同样的问题(但在 Windows 10 上),我编辑了位于 c:/xampp/mysql/bin 中的 my.ini 并添加了以下内容:

binlog_expire_logs_seconds=60
Run Code Online (Sandbox Code Playgroud)

这对你有用吗?

  • 为了完整起见,它必须位于“[mysqld]”部分下。在 Linux 机器中,它必须位于相应目录中的 *.cnf 文件中。 (2认同)