【MySQL】【高可用】purge_relay_logs工具的使用
admin
2023-05-04 15:21:36
0

【MySQL】【高可用】purge_relay_logs工具的使用

背景:

​ 在MHA高可用架构中切换的步骤中,主要靠对各个实例的relay log文件新旧程度进行比较,选取最新的relay log进行群组内的数据追加,以此尽可能地来保证数据的安全性,减少数据丢失的数量。这就要求relay log不能被系统自动清除,要保留一段时间,防止主库挂掉,进行数据补全。

​ 但这就会产生一个问题,在业务持续繁忙时,从库可能会积累很多relay log,若不及时清除早晚会酿出祸患。

简介:

工具: purge_relay_logs
作用: 清除relay log,尽可能多的清除relay log
安装: 包含在mha的node模块之中,不需单独安装

参数:

​ --user/password/host/port 指定用户名/密码/主机/端口,这里有个需要注意的地方,虽然提供了主机的参数,但是只允许127.0.0.1或者localhost两种取值,即只能从本地登录。

​ --workdir 指定硬链接创建的位置,purge_relay_logs使用硬链接的方式删除relay log,需要注意的是,为了保证硬链接的成功,建议硬链接的文件夹和relay log的目录在同一个分区。[5.7版本似乎没有用到]

​ --disable_relay_log_purge 禁用MySQL的自动清除relay log设置,默认情况下,MySQL自动清除relay log,反映到参数上即是:relay_log_purge=1。若MySQL自动清除relay log,工具在启动后就会自动结束,不清除任何文件。当指定了此参数后,工具会禁用MySQL的自动清除relay log设置。

使用:

purge_relay_logs --user=sniffer --password=123456 --port=3110 --host=127.0.0.1 --disable_relay_log_purge --workdir=/data/mha/

​ 输出如下:

2018-02-02 16:40:01: purge_relay_logs script started.
 Opening /data/mysql/3110/data/relay-bin.000012 ..
 Opening /data/mysql/3110/data/relay-bin.000013 ..
 Executing SET GLOBAL relay_log_purge=1; FLUSH LOGS; sleeping a few seconds so that SQL thread can delete older relay log files (if it keeps up); SET GLOBAL relay_log_purge=0; .. ok.
2018-02-02 16:40:04: All relay log purging operations succeeded.
#MySQL中
$./vc-mysql-sniffer --binding "[::]:3110"|grep -v "#"
USE ``;
SHOW SLAVE STATUS;
SELECT @@global.relay_log_purge As Value;
SELECT VERSION() AS Value;
SELECT @@global.relay_log_info_repository AS Value;
SELECT Relay_log_name FROM mysql.slave_relay_log_info;
SELECT @@global.datadir AS Value;
SELECT GET_LOCK('MHA_Master_High_Availability_Failover', '200') AS Value;
SELECT VERSION() AS Value;
SET GLOBAL relay_log_purge=1;
FLUSH NO_WRITE_TO_BINLOG /*!50501 RELAY */ LOGS;
SET GLOBAL relay_log_purge=0;
SELECT RELEASE_LOCK('MHA_Master_High_Availability_Failover') As Value;

​ 解析:1.先检查是否开启了自动清理relay log

​ 2.从MySQL中获得relay log 的文件名,位置,正在使用的编号,创建硬链接。

​ 3.开启自动清理,刷新relay log,生成新的一组relay log后,关闭自动清理,这一步在最大程度上清理了relay log。

自动化清理:

​ 通过shell脚本并添加到crontab中定时清理。

cat >/etc/auto_clean_relay_log.sh<> $log_dir/purge_relay_logs.log 2>&1

crontab -e 增加如下一行:

0 0 */3 * * sh /etc/auto_clean_relay_log.sh

附:

参考文章:国平师兄:https://blog.51cto.com/arthur376/1812640

相关内容

热门资讯

时隔九年再度来京,特朗普有何诉... ◆5月12日,特朗普登上“空军一号”前对着镜头挥手告别。(图源:美联社)文/何平编辑/漆菲5月13日...
硬科技管控,中美关系的新压舱石 特朗普此次访华,英伟达CEO黄仁勋随行的消息提振美股市场,凸显芯片与人工智能已成为中美关系的核心议题...
报告:今年一季度AI原生APP... 中国青年网北京5月12日电(记者 高蕾)近日,第三方智能数据服务商QuestMobile发布了《中国...
七大新品发布!国轩高科第15届... 央广网合肥5月13日消息(记者徐鹏)5月16日至17日,电池龙头企业国轩高科将在合肥举办第15届全球...
百度伐谋2.0发布,李彦宏:能... 5月13日举办的Create2026百度AI开发者大会开幕式上,自我演化决策智能体百度伐谋升级至2....
泰顶级豪门曝性侵丑闻!哥哥侵犯... 泰国最有影响力的巨头之一Singha集团(胜狮集团),这两天爆出性侵丑闻。集团第四代成员,环保活动家...
什么信号?多地要求干部带头缴纳... 多地要求干部带头缴纳物业费。最近一段时间,物业费成了社会关注的焦点。原因竟然是多地密集出台文件,号召...
“这不是威胁而是绝佳机遇”,默... 【文/观察者网 张菁娟】“当下挑战之所以如此巨大,是因为我们长期以来为自己制造了太多问题,而这些问题...
老杜盟友半路杀出,“闪电夺权”... 最近两天,马尼拉的政治温度直接爆表。5月11日上午,菲律宾众议院以255票赞成、26票反对、9票弃权...
“六张网”项目密集启动 进一步... 新华社北京5月13日电 题:“六张网”项目密集启动 进一步释放内需潜力经济参考报记者汪子旭近期,一批...