mysql数据库中二进制日志文件用来记录所有用户对数据库操作,当数据库发生意外,可以通过查询此文件,查询在一定时间内用户的所做操作,结合数据库备份可再现用户操作,使数据库恢复。
1 启用二进制日志
mysql数据库默认情况下不启动二进制日志。
show variables like '%log_bin%';
用户可以通过修改mysql的配置文件来启动二进制日志。
windows:my.ini中mysqld组下面额设置关于二进制日志的参数
log-bin
expire_logs_days=10 --定义了mysql清除过期日志的时间,自动删除的天数默认为0
max_binlog_szie=100M
2 查看二进制日志
检查是否开启
show variables like '%log_bin%';
show binary logs
查看操作
show binlog events in 'log.000001'\G
通过mysqlbinlog工具查看二进制所有内容
mysqlbinlog --no-defaults
3 删除二进制日志
开启二进制会对性能有所影响,但是影响有限,mysql二进制文件可以配置自动删除
1 手动删除
2 自动删除
手动删除命令:
reset master; --删除所有日志,并从编号000001从新开始。
purge master logs to 'BIN-LONG00000123' --删除123之前的日志。
purge master logs before '2022-01-01 00:00:00'
show binary logs;
4 使用binlog进行数据库恢复
比较重要的参数option
--start-date
--stop-date
--start-postition
--stop-postition
mysqlbinlog --stop-date="2022-01-01 00:00:00" D:\BINLOG-000001111|mysql -uroot -p123