MySQL 服务器可以创建多个不同的日志文件来帮助查看正在发生的活动。但是,必须定期清理这些文件,以确保日志不会占用过多的磁盘空间。
日志维护
Linux 系统日志分割脚本
- mysql-log-rotate 脚本,RPM 版本的 MySQL 已自动安装
手动删除二进制日志
mysql> purge binary logs to 'binlog.000002';
Note: 会把 binlog.000002 之前的二进制日志全部删除,同时更新二进制日志的索引文件。
刷新日志
mysql> flush logs;
mysql> flush binary logs; -- 可以指定刷新哪种日志
shell> mysqladmin flush-logs
shell> mysqladmin refresh
shell> mysqldump --flush-logs
shell> mysqldump --master-data
系统变量
二进制日志的维护
expire_logs_days已弃用,被 binlog_expire_logs_seconds 取代。
二进制日志过期时间
- binlog_expire_logs_seconds
8.0 之前的版本使用的系统变量是 expire_logs_days。
- 二进制日志过期时间,默认30天
- 可以在启动时以及刷新二进制日志时删除文件。
- max_binlog_size
- 二进制日志的最大尺寸,默认 1G