MySQL 日志文件binlog相关操作

show binary logs; #显示当前日志文件
show variables like '%log_%';
show variables like 'expire_logs_days';


#轮询切换新日志文件
flush logs;   

mysqladmin -u root -p flush-logs
mysqladmin -u root -p refresh


#日志过期清除天数
expire_logs_days = 15   #配置文件 my.cfg 设置
set global expire_logs_days = 10; #在线设置


#启用binlog日志( my.cfg )
[mysqld]
log-bin=/usr/local/mysql/binlog/mysql-bin
expire_logs_days=10
max_binlog_size=100M


#查看二进制日志文件内容
show binlog events;
show binlog events in "binlog.000004";

#导出/查看二进制日志内容
mysqlbinlog /usr/local/mysql/binlog/mysql-bin.000012 > /root/binlog.log
cat /root/binlog.log

#指定数据库/位置/时间等导出查看
mysqlbinlog --no-defaults -d test mysql-bin.000012 --base64-output=decode-rows -v
mysqlbinlog --no-defaults -d test mysql-bin.000012 --start-position=154 --stop-position=10556
mysqlbinlog --no-defaults -d test mysql-bin.000012 --start-datetime="2018-01-08 21:22:35" --stop-datetime="2018-01-08 22:12:23" 


#有复制情况,首先确认复制到哪个日志文件
show slave status\G; 


#删除日志文件
purge master logs to 'mysql-bin.000010';  #清除该编号之前的日志
purge master logs before '2018-01-01 00:00:00'; #清除该时间之前的日志
purge master logs before date_sub(current_date, interval 10 day);


#清空所有 binlog 文件
reset master; 


猜你喜欢

转载自blog.csdn.net/kk185800961/article/details/79485371