读书人

12组nodes MySQL DB每组二台Master-

发布时间: 2013-09-25 11:02:59 作者: rapoo

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脚本如下

for masterdb in `master.db.full`;do  ssh  $masterdb "df -h" |grep -i mysqldatadir;done;

执行sh check_disk.sh开始check

读书人网 >其他数据库

热点推荐