128组节点分贝以上的过期binlog释放磁盘空间实现思路批量去除
1,建立从服务器列表slavelist;从线。
2、远程访问的binlog位置上方的奴隶和奴隶主数据库主机名(或者IP地址)
3、把binlog位置和主机名称,然后SSH远程清理binlog在主
4,外壳循环操作步骤2和步骤3。
1:clean_binlog.sh附带的脚本
复制代码代码如下所示:
# /斌/狂欢!
P1从MySQL数据库服务器#
db03 = 1美元
echo服务器;
ster_log_file = ` SSH db03美元MySQL uxx -器材——SSL CA = / / /选择MySQL的SSL / ca-cert.pem --
SL证书= / / /选择MySQL的SSL / server-cert.pem——SSL密钥= / / /选择MySQL的SSL / server-key.pem E SHOW SLAVE STATUS G;| grep -我master_log_file
;
#回波##### binlog访问信息
log_file = ` echo $ ster_log_file awk {打印2美元的` | };
db01tmp = ` SSH db03美元MySQL uxx -器材——SSL CA = / / /选择MySQL的SSL / ca-cert.pem --
SL证书= / / /选择MySQL的SSL / server-cert.pem——SSL密钥= / / /选择MySQL的SSL / server-key.pem E SHOW SLAVE STATUS G;| grep -我master_host
;
复制代码代码如下所示:
#获取主机名称或IP地址
DB01 = ` echo $ db01tmp awk {打印2美元的` | }
#开始清理binlog日志信息
复制代码代码如下所示:
SSH为DB01MySQL Uxxx -器材——SSL CA = / / /选择MySQL的SSL / ca-cert.pem SSL证书= / OP
T / / / server-cert.pem MySQL SSL SSL密钥= / / /选择MySQL的SSL / server-key.pem E 清除主日志log_file美元;
#检查主binlog信息
复制代码代码如下所示:
SSH为DB01东风H / MySQL / binlog ;
复制代码代码如下所示:
for循环脚本2的附带批处理:
S `猫slavelist `;做SH clean_binlog.sh美元做的;
这是一个粗略的计划。一定有一些缺点。我的128组是mm组合,这样操作就可以了。不同的建筑估计将改变。这里还涉及到binlog备份之前清除,等(有专门的备份设备和备份脚本)。