mha 0.58 gtid模式下 丢数据问题修复
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,问题描述:在gtid模式下 ,mha发生故障切换 ,如果Linux主机还存活 ,不会去比对master的日志,获取差异日志 ,有导致数据丢失的风险 。问题修复:找到 MasterFailover.pm
千家信息网最后更新 2025年12月02日mha 0.58 gtid模式下 丢数据问题修复
问题描述:
在gtid模式下 ,mha发生故障切换 ,如果Linux主机还存活 ,不会去比对master的日志,获取差异日志 ,有导致数据丢失的风险 。
问题修复:
找到 MasterFailover.pm 文件 ,将下文! 去掉
if ( !$_server_manager->is_gtid_auto_pos_enabled() ) { $log->info(); $log->info("* Phase 3.2: Saving Dead Master's Binlog Phase..\n"); $log->info(); save_master_binlog($dead_master); }去掉后的代码
if ( $_server_manager->is_gtid_auto_pos_enabled() ) { $log->info(); $log->info("* Phase 3.2: Saving Dead Master's Binlog Phase..\n"); $log->info(); save_master_binlog($dead_master); }找到 apply_binlog_to_master 函数定义的位置
sub apply_binlog_to_master($) { my $target = shift; my $err_file = "$g_workdir/mysql_from_binlog.err"; my $command ="cat $_diff_binary_log | mysql --binary-mode --user=$target->{mysql_escaped_user} --password=$target->{mysql_escaped_password} --host=$target->{ip} --port=$target->{port} -vvv --unbuffered > $err_file 2>&1"; $log->info("Checking if super_read_only is defined and turned on.."); my ($super_read_only_enabled, $dbh) = MHA::SlaveUtil::check_if_super_read_only($target->{hostname}, $target->{ip}, $target->{port}, $target->{user}, $target->{password}); if ($super_read_only_enabled) { MHA::SlaveUtil::disable_super_read_only($dbh); } else { $log->info(" not present or turned off, ignoring.\n"); }修改后的代码 cat $_diff_binary_log
sub apply_binlog_to_master($) { my $target = shift; my $err_file = "$g_workdir/mysql_from_binlog.err"; my $command ="mysqlbinlog $_diff_binary_log --skip-gtids=true | mysql --binary-mode --user=$target->{mysql_escaped_user} --password=$target->{mysql_escaped_password} --host=$target->{ip} --port=$target->{port} -vvv --unbuffered > $err_file 2>&1"; $log->info("Checking if super_read_only is defined and turned on.."); my ($super_read_only_enabled, $dbh) = MHA::SlaveUtil::check_if_super_read_only($target->{hostname}, $target->{ip}, $target->{port}, $target->{user}, $target->{password}); if ($super_read_only_enabled) { MHA::SlaveUtil::disable_super_read_only($dbh); } else { $log->info(" not present or turned off, ignoring.\n"); }
问题
代码
日志
数据
模式
下文
主机
位置
函数
差异
故障
文件
风险
切换
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
杭州蜂融网络技术有限公司
在数据库中不小心打错字了
网络安全blog
攀枝花软件开发大概费用
户外网络服务器
数据库修改数据回滚
安万德数据库
农行软件开发咋样
夏商周网络技术有限公司
云徙科技工业互联网
服务器增加一个网络映射
华宁柑橘数据库
中孚网络安全隔离系统怎么取消
哪里有免费的云服务器
软件开发后台管理
嘉兴市禾付网络技术有限公司
旅游软件开发的技术路线
微信是什么软件开发是
变电站网络安全报道
华为网络安全工程师招聘要求
软件开发b端和c端
津南区网络安全教育
互联网科技创新企业
网络安全法解读图文
软件开发用什么扫毒软件好
网络安全20种指标
国外剧院视频服务器技术
上海天放网络技术公司电话
沈阳高防服务器
十有网络技术有限公司