MySQL中binlog及其删除purge

  • binlog

    binlogMySQL中的二进制日志。它记录了所有的 DDLDML 语句(除了数据查询语句selectshow等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog 的主要目的是复制和恢复。

    MySQL下有多种日志:

    日志类型 写入日志的信息
    错误日志 记录在启动,运行或停止mysqld时遇到的问题
    通用查询日志 记录建立的客户端连接和执行的语句
    二进制日志 记录更改数据的语句
    中继日志 从复制主服务器接收的数据更改
    慢查询日志 记录所有执行时间超过 long_query_time 秒的所有查询或不使用索引的查询
    DDL日志(元数据日志) 元数据操作由DDL语句执行
  • purge

    > help purge # 查看purge命令
    > PURGE BINARY LOGS TO 'binlogname'; # 删除至某一个文件为止
    > PURGE BINARY LOGS BEFORE 'datetimestamp'; # 删除到某个日期为止
    

    通过mysql提供的工具来删除更安全。因为purge会更新mysql-bin.index中的条目,而直接删除的话,mysql-bin.index文件不会更新。mysql-bin.index的作用是加快查找binlog文件的速度。

  • References

  1. Is it safe to delete mysql-bin files?
  2. mysql的binlog安全删除
  3. MySQL Binlog 介绍
  4. mysql binlog应用场景与原理深度剖析
上一篇:MySQL中的后台线程


下一篇:删除树莓派中自带的无用的套件