首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

清算300多台MySQL数据库的过期binlog日志

2013-10-14 
清理300多台MySQL数据库的过期binlog日志早晨睡梦中,被on-call了,说磁盘报警,赶紧起来打开email,收到上百

清理300多台MySQL数据库的过期binlog日志
早晨睡梦中,被on-call了,说磁盘报警,赶紧起来打开email,收到上百封email报警,数据库磁盘不够了,查询了原因

for i in `cat server03list`; do #循环遍历db列表# 1 获取数据库的master binlog名称,并在控制台打印出当前执行的db名称echo $i;binlog=`ssh $i " /opt/mysql/product/5.5.25a/bin/mysql  -uxxxx  -ppassword --ssl-ca=/ssl/ca-cert.pem --ssl-cert=/ssl/server-cert.pem --ssl-key=/ssl/server-key.pem -e \" show master status;\" "|grep mysql-bin |awk '{print $1}'`;echo $binlog;# 2 开始执行binlog purge清理操作。ssh $i " /opt/mysql/product/5.5.25a/bin/mysql  -uxxxx  -ppassword --ssl-ca=/ssl/ca-cert.pem --ssl-cert=/ssl/server-cert.pem --ssl-key=/ssl/server-key.pem -e \" purge master logs to '$binlog';\" "# 3 check清理完的磁盘空间。ssh $i "df -h" |grep mysqldata;# 4 输入空行分隔echo "";echo "";echo "";done;

然后执行清理操作,并且把结果输出到日志里面
sh clear_binlog.sh > clear_binlog.log

热点排行