12组nodes MySQL DB,每组2台Master-Master,批量清除过期的binl_MySQL

php中文网
发布: 2016-06-01 13:29:40
原创
1006人浏览过

bitsCN.com

12组nodes mysql db,每组2台master-master,批量清除过期的binlog释放磁盘空间

 

接到call,磁盘报警了,发现是大量dml操作导致N多binlog产生,所以需要清除已经sync过的binlog日志,12组nodes MySQL DB,每组2台Master-Master,需要批量清除过期的binlog释放磁盘空间。

 

方案,总共24台db,一台台进去清理肯定不行,得需要写一个脚本,进行批量操作,方案思路大概如下

1,  建立双master列表masterlist; 一个master一行。

 

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

 

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

 

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

 

clearbinlog.sh脚本如下

[python] 

for masterdb in `cat master.db.full`;do  

    #1 echo get the binlog position infomation  

    str_log_files=`ssh $masterdb "/opt/mysql/product/5.5.25a/bin/mysql -uroot --password="" -e /"show slave status/G;/" |grep -i master_Log_File "`  

    echo $str_log_files;  

    log_file=`echo $str_log_files | awk '{print $2}'`;   

    echo $log_file;  

  

    #2 echo get the master ip address or master hostname  

    db01tmp=`ssh $masterdb "  /opt/mysql/product/5.5.25a/bin/mysql  -uroot  --password=""  -e /"show slave status/G;/" |grep -i Master_Host  "`;    

    db01=`echo $db01tmp | awk '{print $2}'`  

  

    #3 begin to clear the old binlog   

    ssh $db01 "/opt/mysql/product/5.5.25a/bin/mysql  -uroot  --password="" -e /"purge master logs to '$log_file';/""  

  

    #4 check the disk space for master  

    ssh $db01 "df -h"  

    echo " "  

    echo " -- -- -- ";  

done;  

 

OK,run sh脚本 

sh clearbinlog.sh 就可以开始清理所有db的binlog了。

 

最后再次check disk space,执行check_disk.sh脚本,脚本内容如下:

[html] 

for masterdb in `master.db.full`;do  

  ssh  $masterdb "df -h" |grep -i mysqldatadir;  

done;  

 

执行sh check_disk.sh开始check
 

bitsCN.com
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号