MySQL 二进制日志相关配置
- log_bin
设定binlog的文件名前缀和路径,设置off并不能关闭binlog - max_binlog_size
设定binlog的最大容量
max_binlog_size=100K max_binlog_size=100M max_binlog_size=1G - 查看当前的二进制文件及其position
show master status;
- 查看所有二进制文件,更改log_bin参数,重新设置文件路径或binlog前缀后,以新文件为准,以前的不予显示
show master logs; show binary logs;
- 查看二进制文件内容
show binlog events in 'binlog.000001'; - 利用mysqlbinlog命令查看binlog
mysqlbinlog --start-position=156 --stop-position=795 binlog.000001 | mysql -uroot -pcrucesmysqlbinlog --start-date='2010-09-29 17:00:00' --stop-date='2010-09-30 23:00:00' -database employees binlog.000002 | mysql -uroot -pcruces - 刷新日志,不会刷新其他日志
flush logs; - 清空所有binlog,重新生成binlog,后缀从000001开始
reset master; - 清空指定日志
purge master | binary logs to 'binlog.000003'; // binlog.000003不会被清除purge master | binary logs before 'yyyy-mm-dd hh:mm:ss' // date时间点的不会被清除 - binlog_format 二进制文件记录格式
binlog_format=row | statement | mixed -
binlog_do_db=employees // 只记录employees库 binlog_ignore_db=employees // 忽略employees库 - binlog_expire_logs_seconds 设置日志过期天数,过期日志被自动删除,0永久保存
binlog_expire_logs_seconds=2592000 # 30 days
set global binlog_expire_logs_seconds=60*60*24*3; ser persist binlog_expire_logs_seconds=60*60*24*3; -
crontab 清理
0 1 * * * mysql -uroot --password='' 'purge binary logs before date_sub(now(),interval 3 day)'

浙公网安备 33010602011771号