溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mha 0.58 gtid模式下 丟數(shù)據(jù)問題修復(fù)

發(fā)布時間:2020-07-28 08:56:12 來源:網(wǎng)絡(luò) 閱讀:345 作者:dengwang123 欄目:系統(tǒng)運(yùn)維


問題描述:?

在gtid模式下? ,mha發(fā)生故障切換 ,如果Linux主機(jī)還存活? ,不會去比對master的日志,獲取差異日志 ,有導(dǎo)致數(shù)據(jù)丟失的風(fēng)險 。


問題修復(fù):

找到?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 函數(shù)定義的位置

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");
??}






向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI