Giter Club home page Giter Club logo

Comments (12)

LaurentKol avatar LaurentKol commented on July 30, 2024 1

I submitted pull request #110 which adds optional check for errant transactions prior to manual failover (masterha_master_switch). If any are found, failover is aborted and a fix is suggested using mysqlslavetrx with the list of relevant GTIDs. Hope this helps.

from mha4mysql-manager.

brutto avatar brutto commented on July 30, 2024

+1

from mha4mysql-manager.

bogdanov1609 avatar bogdanov1609 commented on July 30, 2024

+2

from mha4mysql-manager.

surpr1ze avatar surpr1ze commented on July 30, 2024

👍

from mha4mysql-manager.

grypyrg avatar grypyrg commented on July 30, 2024

I think it's more important to prevent errand transactions. The best way to do this is with super_read_only which is in PerconaServer/MariaDB (comes from webscalesql). look at mha-helper for implementation in MHA: https://github.com/grypyrg/mha-helper

from mha4mysql-manager.

deniszh avatar deniszh commented on July 30, 2024

Yep, super_read_only is nice, but it's not in upstream. Well, we switched to mysql-utilities based failover anyway...

from mha4mysql-manager.

grypyrg avatar grypyrg commented on July 30, 2024

mysql-utilities failover is a lot more limited than what MHA can do. It might work for you, but for many, it's just not good enough.

from mha4mysql-manager.

deniszh avatar deniszh commented on July 30, 2024

Hello @grypyrg,
If you have no GTID - yep, then you have no choice (maybe you can use Pseudo-GTID and https://github.com/outbrain/orchestrator) but otherwise I see no other limitation, though. Of course, you need to write some wrapper around it, but it's not really complicated.
From the point of current MySQL state (5.7) MHA looks quite outdated IMO.

from mha4mysql-manager.

grypyrg avatar grypyrg commented on July 30, 2024

MHA can ssh to all nodes including a mysqlbinlog stream to fetch missing transactions from both binary and relay logs.
mysqlfailover and/or mysqlrpladmin only just changes the replication setup, it does not do anything like that.

from mha4mysql-manager.

deniszh avatar deniszh commented on July 30, 2024

IIRC if you using GTID - it will complete skipping all ssh stuff, it doesn't even check that -

if ( !$_server_manager->is_gtid_auto_pos_enabled() ) {
$log->info("GTID (with auto-pos) is not supported");
MHA::SSHCheck::do_ssh_connection_check( \@alive_servers, $log,
$servers_config[0]->{log_level}, $g_workdir )
unless ($g_skip_ssh_check);
$log->info("Checking MHA Node version..");
foreach my $slave (@alive_slaves) {
MHA::ManagerUtil::check_node_version(
$log, $slave->{ssh_user}, $slave->{ssh_host},
$slave->{ssh_ip}, $slave->{ssh_port}
);
}
$log->info(" Version check ok.");
}
else {
$log->info(
"GTID (with auto-pos) is supported. Skipping all SSH and Node package checking."
);
check_binlog_servers( $binlog_server_ref, $log );
}

So, if you using GTID everywhere - MHA is mostly overkill and easily can be replaced with mysql-utilities.

from mha4mysql-manager.

grypyrg avatar grypyrg commented on July 30, 2024

Yes, you're right in that.it skips most ssh stuff, but it does connect to binlog servers and get missing events from the masters binlog there (although buggy).

from mha4mysql-manager.

nuzayats avatar nuzayats commented on July 30, 2024

+1

from mha4mysql-manager.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.