Nic*_*art 5 mysql mariadb binlog
我正在寻找一种方法来防止 MariaDB 二进制日志在增长速度比平时更快时占用大量空间。
但是有没有办法设置所有二进制日志文件的“最大整体大小”?或者,也许更简单,最大数量的二进制日志文件,这会超载expire_log_days保留...
关于max_binlog_size,你问的是不可能的。为什么 ?
在上May 05, 2017,我回答了MySQL-Binary Log File size 增长超过最大限制的问题。我在max_binlog_size上的 MySQL 文档中提到了以下内容:
事务以一个块写入二进制日志,因此它永远不会在多个二进制日志之间拆分。因此,如果您有大事务,您可能会看到大于max_binlog_size 的二进制日志文件。
您的二进制日志大于max_binlog_size 的事实仅表明您在每个事务中写入了太多更改。
关于expire_logs_days,粒度以天为单位。你对此无能为力。
如果您希望减少 binlog 的数量,您可能需要做以下两件事之一:
建议 #1:扫描 binlog 索引文件,找到最后 10 个 binlog,获取这 10 个 binlog 中的第一个 binlog,然后运行如下命令:
PURGE BINARY LOGS TO 'whatever-binlog.002316';
Run Code Online (Sandbox Code Playgroud)
建议 #2:编写一个 cronjob 来保存过去 18 小时的二进制日志:
PURGE BINARY LOGS BEFORE (NOW() - INTERVAL 18 HOUR);
Run Code Online (Sandbox Code Playgroud)
试一试 !!!
| 归档时间: |
|
| 查看次数: |
9101 次 |
| 最近记录: |