MySQL二进制日志(Binary Log)是MySQL数据库中用于记录所有更改数据或可能更改数据的SQL语句的日志文件。这些日志主要用于数据恢复、主从复制以及审计等场景。二进制日志以事件形式记录,每个事件描述了数据更改的一部分。
STATEMENT
、ROW
和MIXED
。STATEMENT
:记录更改数据的SQL语句。ROW
:记录更改的具体行数据。MIXED
:根据情况自动选择STATEMENT
或ROW
格式。binlog_ignore_db
或binlog_do_db
配置项的限制,或者某些操作被标记为不记录(如SUPER
权限用户的某些操作)。binlog_ignore_db
和binlog_do_db
设置,确保需要记录的操作没有被忽略。同时,检查是否有操作被标记为不记录。PURGE BINARY LOGS
命令或设置expire_logs_days
参数来自动清理。-- 查看当前的二进制日志格式
SHOW VARIABLES LIKE 'binlog_format';
-- 切换二进制日志格式为ROW
SET GLOBAL binlog_format = 'ROW';
-- 查看二进制日志文件列表
SHOW BINARY LOGS;
-- 清理旧的二进制日志文件(例如,保留最近7天的日志)
PURGE BINARY LOGS TO 'mysql-bin.000003';
领取专属 10元无门槛券
手把手带您无忧上云