mha在gtid模式下故障的解决方法
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,本文在介绍关于mha在gtid模式下故障解决方法的基础上,重点探讨了其具体步骤,步骤简单易上手操作,文章内容步步紧凑,希望大家根据这篇文章可以有所收获。问题描述:在gtid模式下 ,mha发生故障切换
千家信息网最后更新 2025年02月11日mha在gtid模式下故障的解决方法
本文在介绍关于mha在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"); }
以上就是mha在gtid模式下故障的解决方法,详细使用情况还需要大家自己亲自动手使用过才能领会。如果想了解更多相关内容,欢迎关注行业资讯频道!
故障
模式
方法
代码
内容
日志
步骤
问题
紧凑
下文
主机
亲自动手
位置
函数
基础
就是
差异
情况
数据
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
义门陈氏家谱数据库查询
潮州网络技术优化公司
身边有哪些数据库
卡斯柯软件开发开发
如何查询有那些数据库用户
网络安全技术身边的案例
宁波软件开发培训机构
天刀卸载后数据库
广西上门软件开发资格
广州安卓智能产品软件开发
服务器作图对比
我的世界0.14怎么进去服务器
优齐网络技术
公安厅网络安全分析
怎样看网页的数据库
怎么在网站中增加数据库检索
腾讯云服务器安全怎么关闭
用爬虫爬数据库公开数据犯法吗
编程数据库选择
仁基互联网科技有限公司
网络安全应急响应重要原则
excel读数据库值
连云港南京高密度服务器代理商
淄川管理软件开发
数据库sql上机实验题2
帕奇维客服务器
信息网络技术作用
广州东鸿网络技术有限公司
收乐网络技术有限公司
网络安全竞赛题2020