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 -pcruces
mysqlbinlog --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)'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律