mysql binlog的清理方法与查看

14 篇文章 0 订阅

1.查看binlog日志
查看binlog日志

2.删除某个日志文件之前的所有日志文件
删除某个日志文件之前的所有日志文件
3 重置所有的日志
reset master;

4.关闭mysql的binlog日志

注释掉#log-bin=log_bin
然后重启mysql

5.设置expire_logs_days
expire_logs_days=x x是设置的天数。表示的是x天后mysql的log_bin日志自动的删除。 这种在配置文件中设置参数的一般需要重启mysq。或者也可以动态的设置
设置binlog日志过期时间
6 . 清除binlog时,对从mysql的影响
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

7.mysqlbinlog -v -v log_bin.000006 --base64-output='decode-rows’
-v 是格式化输出,两个-v是更加有好的格式化输出
–base64-output=‘decode-rows’ 解密操作

8.上面这种办法读取出binlog日志的全文内容较多,不容易分辨查看pos点信息,这里介绍一种更为方便的查询命令:

  mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];

         选项解析:
           IN 'log_name'   指定要查询的binlog文件名(不指定就是第一个binlog文件)
           FROM pos        指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)
           LIMIT [offset,] 偏移量(不指定就是0)
           row_count       查询总条数(不指定就是所有行)

         截取部分查询结果:
         *************************** 20. row ***************************
            Log_name: mysql-bin.000021  ----------------------------------------------> 查询的binlog日志文件名
                 Pos: 11197 ----------------------------------------------------------> pos起始点:
          Event_type: Query ----------------------------------------------------------> 事件类型:Query
           Server_id: 1 --------------------------------------------------------------> 标识是由哪台服务器执行的
         End_log_pos: 11308 ----------------------------------------------------------> pos结束点:11308(即:下行的pos起始点)
                Info: use `zyyshop`; INSERT INTO `team2` VALUES (0,345,'asdf8er5') ---> 执行的sql语句
         *************************** 21. row ***************************
            Log_name: mysql-bin.000021
                 Pos: 11308 ----------------------------> pos起始点:11308(即:上行的pos结束点)
          Event_type: Query
           Server_id: 1
         End_log_pos: 11417
                Info: use `zyyshop`; /*!40000 ALTER TABLE `team2` ENABLE KEYS */
         *************************** 22. row ***************************
            Log_name: mysql-bin.000021
                 Pos: 11417
          Event_type: Query
           Server_id: 1
         End_log_pos: 11510
                Info: use `zyyshop`; DROP TABLE IF EXISTS `type`
  这条语句可以将指定的binlog日志文件,分成有效事件行的方式返回,并可使用limit指定pos点的起始偏移,查询条数;
  
  A.查询第一个(最早)的binlog日志:
    mysql> show binlog events\G; 

  B.指定查询 mysql-bin.000021 这个文件:
    mysql> show binlog events in 'mysql-bin.000021'\G;

  C.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起:
    mysql> show binlog events in 'mysql-bin.000021' from 8224\G;

  D.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,查询10条
    mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;

  E.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,偏移2行,查询10条
    mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 2,10\G;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈小珂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值