如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了。大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binlog位置, 然后再远程去purge master上面的binlog.

1,  建立slave dbserver列表 slavelist; 一个slave一行。

2,远程获取slave db上面的binlog位置以及slave的master主机名(也许是ip地址)

3,拿到binlog位置以及master主机名,然后ssh远程清理掉master上面的binlog

4,shell for循环操作step 2以及step 3。

附带脚本1:clean_binlog.sh

  1. #!/bin/bash
  2. # p1 the slave mysql db server
  3. db03=$1
  4. echo  $dbserver;
  5. ster_Log_File=`ssh $db03 "  mysql  -uxx  -pxx --ssl-ca=/opt/mysql/ssl/ca-cert.pem --s
  6. sl-cert=/opt/mysql/ssl/server-cert.pem --ssl-key=/opt/mysql/ssl/server-key.pem -e \"show slave status\G;\" |grep -i master_Log_File
  7. "`;
  8. # echo ##### 获取binlog信息
  9. log_file=`echo $ster_Log_File | awk '{print $2}'`;
  10. db01tmp=`ssh $db03 "  mysql  -uxx  -pxx --ssl-ca=/opt/mysql/ssl/ca-cert.pem --s
  11. sl-cert=/opt/mysql/ssl/server-cert.pem --ssl-key=/opt/mysql/ssl/server-key.pem -e \"show slave status\G;\" |grep -i Master_Host
  12. "`;
  1. # 获取master主机名或者ip地址
  2. db01=`echo $db01tmp | awk '{print $2}'`
  3. # 开始清理binlog日志信息
  1. ssh $db01 " mysql  -uxxx  -pxx --ssl-ca=/opt/mysql/ssl/ca-cert.pem --ssl-cert=/op
  2. t/mysql/ssl/server-cert.pem --ssl-key=/opt/mysql/ssl/server-key.pem -e \"purge master logs to '$log_file';\" "
  3. # check master上面的binlog信息
  1. ssh $db01 "  df -h /mysql/binlog ";
  1. <strong><span style="color:#ff0000;"></span></strong>

附带批量for循环脚本2:

for s in `cat slavelist`; do sh clean_binlog.sh $s; done

这个是比较粗略的方案,肯定有不足之处,我的128组是mm组合,所以这样操作是可以的,架构不同估计会有变动,这里还涉及到purge之前的binlog的备份等等(有专门的备份机以及备份脚本)。

如何批量清除128组节点db上面的过期的binlog,释放磁盘空间。(转)的更多相关文章

  1. 清理:db上面的过期的binlog,释放磁盘空间。 (转)

    如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了.大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binl ...

  2. 批量清除过期的binlog释放磁盘空间

    方案,总共24台db,一台台进去清理肯定不行,得需要写一个脚本,进行批量操作,方案思路大概如下 1,  建立双master列表masterlist; 一个master一行. 2,远程获取master ...

  3. 020-VMware虚拟机作为OpenStack计算节点,上面的虚拟机无法启动问题解决

      问题描述: VMware虚拟机作为OpenStack计算节点,如果安装的操作系统是CentOS7.3,则在此计算节点放置的虚拟机无法正常启动,报如下错误: 在创建计算节点时,为了能让 KVM 能创 ...

  4. Spark On YARN使用时上传jar包过多导致磁盘空间不够。。。

    今天测试过程中发现YARN Node变成Unhealthy了,后来定位到硬盘空间不够..... 通过查找大于100M的文件时发现有N多个spark-assembly-1.4.0-SNAPSHOT-ha ...

  5. X7-2存储节点操作系统盘上的变化

    我们知道,在X7-2之前,存储节点的12块机械硬盘的前2块(LUN0和LUN1)中各划出33GB的分区来做RAID1,这个RAID1再划出小的分区来存放操作系统和存储软件等. 但从X7-2开始,这发生 ...

  6. nginx缓存批量清除

    研究了一段时间的缓存清除,说说了解的三种方式吧.        1. 原始的只增加缓存模块的,根据访问的路径一条条清除. 根据此方式要进行批量清除的话,必须在设定的缓存目录下通过自己写的程序来读取ng ...

  7. 对于大量left join 的表查询,可以在关键的 连接节点字段上创建索引。

    对于大量left join 的表查询,可以在关键的 连接节点字段上创建索引. 问题: 大量的left join 怎么优化 select a.id,a.num,b.num,b.pcs,c.num, c. ...

  8. svn文件批量清除

    svn文件批量清除 http://files.cnblogs.com/files/douxuyao/clearsvn.rar

  9. 批量清除BOM头

    批量清除BOM头 (2012-03-05 13:28:30) 转载▼ 标签: 杂谈   有些php文件由于不小心保存成了含bom头的格式而导致出现一系列的问题.以下是批量清除bom头的代码,复制代码, ...

随机推荐

  1. R的几个基础函数

    本章目录: 1.路径和文件 2.数据转换 3.获得帮助 路径和文件: 1.工作路径: 显示当前路径:getwd() 设置路径:setwd(“绝对路径”) 2.目录: 创建目录:dir.create(& ...

  2. 大话设计模式之PHP篇 - 单例模式

    在编写PHP代码的时候,经常使用new关键字实例化一个对象,比如 <?php Class Database { } $db = new Database; 这是最常规的实例化操作方法,像数据库操 ...

  3. 关于v4l2的一点变更

    先打个连接 http://linuxtv.org/downloads/presentations/media_ws_2013/v4l2-multi-format.pdf 2013年linux 多媒体构 ...

  4. ASP.NET5 MVC6 利用Middleware 创建可访问HttpContext 的业务类工厂。(代替HttpContext.Current)

    我们的目标是在后台业务处理类中,能够很容易的取得用户信息或者其它HTTP请求相关的信息. 所以,首先我们需要一个存储这些信息的类: public class RequestData { public ...

  5. 设置 IntelliJ IDEA 主题和字体的方法

    1 前言 在博文「IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍」中,我们已经用 IntelliJ IDEA 创建了第一个 Java 项目 HelloWorld,如下 ...

  6. Flume架构及运行机制

    flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 clo ...

  7. 红米1S.线刷

    ZC:遇到问题:“Missmatching image and device”,解决网址:“[2.23][史上最全]MiFlash线刷错误的那些事儿_收藏备用_小米手机4_MIUI论坛.html”(h ...

  8. jsp:jstl标签forTokens

    forTokens 标签这个标签的作用和 Java 中的 StringTokenizer 类的作用非常相似,它通过 items 属性来指定一个特定的字符串,然后通过 delims 属性指定一种分隔符( ...

  9. JS解析+预解析相关总结

    [js预解析机制]先来说说js的解析机制吧,浏览器在解析js代码时是从上到下解析的.解析顺序如:(1)预解析    找var和function (2)逐行代码解析    表达式    函数调用     ...

  10. iOS耗电量测试方法及其数据收集

    常用的电量测试方法: 硬件测试(硬件要求比较高,成本比较大,这里介绍软件测试方法) 软件工具检测 几个典型的耗电场景如下: 定位,尤其是调用GPS定位 网络传输,尤其是非Wifi环境 cpu频率 内存 ...