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 @ 2021-01-04 18:52  ascertain  阅读(220)  评论(0编辑  收藏  举报