MySQL 二进制日志相关配置

 

 

  1. log_bin
    设定binlog的文件名前缀和路径,设置off并不能关闭binlog
  2. max_binlog_size
    设定binlog的最大容量
    max_binlog_size=100K
    max_binlog_size=100M
    max_binlog_size=1G

     

  3. 查看当前的二进制文件及其position
    show master status;

     

     

  4. 查看所有二进制文件,更改log_bin参数,重新设置文件路径或binlog前缀后,以新文件为准,以前的不予显示
    show master logs;
    show binary logs;

     

     

  5. 查看二进制文件内容
    show binlog events in 'binlog.000001';



  6. 利用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

     

  7. 刷新日志,不会刷新其他日志
    flush logs;

     

  8. 清空所有binlog,重新生成binlog,后缀从000001开始
    reset master;

     

  9. 清空指定日志
    purge master | binary  logs to 'binlog.000003'; // binlog.000003不会被清除
    purge master | binary logs before 'yyyy-mm-dd hh:mm:ss' // date时间点的不会被清除

     

  10. binlog_format 二进制文件记录格式
    binlog_format=row | statement | mixed

     

  11. binlog_do_db=employees // 只记录employees库
    binlog_ignore_db=employees // 忽略employees库

     

  12. 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;

     

     

     

  13.  

     crontab 清理

    0 1 * * * mysql -uroot --password='' 'purge binary logs before date_sub(now(),interval 3 day)'

     

posted @   ascertain  阅读(233)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示