Recovery methods depend on scenario:
Scenario 1: Master recoverable with GTID consistency
Scenario 2: Master has extra transactions (diverged)
Method A: Flashback (MariaDB with flashback enabled)
autorejoin-flashback = true
Method B: mysqldump
autorejoin-mysqldump = true
Method C: Physical backup
autorejoin-backup-binlog = true
autorejoin-semisync = false
Method D: Manual re-provision
Crash information saved: Check /var/lib/replication-manager/crash*Unixtime*/ for binary logs and election details.
Reference: /pages/05.configuration/03.failover/02.crash-recovery/docs.md
Flashback recovery:
Requirements:
binlog_format = ROWautorejoin-flashback = trueAdvantages:
Disadvantages:
Use when: Small transaction divergence, MariaDB environment, fast recovery priority
mysqldump recovery:
Requirements:
autorejoin-mysqldump = trueAdvantages:
Disadvantages:
Use when: Large divergence, MySQL (not MariaDB), guarantee consistency
Physical backup recovery:
Requirements:
autorejoin-backup-binlog = trueAdvantages:
Disadvantages:
Use when: Very large databases, storage supports snapshots, fastest recovery critical
Reference: /pages/05.configuration/03.failover/02.crash-recovery/docs.md
replication-manager records crash details in multiple locations:
Location 1: Crash directory
/var/lib/replication-manager/crash*Unixtime*/
Contains:
Location 2: Cluster state file
/var/lib/replication-manager/cluster_name.json
Contains:
{
"crashes": [
{
"URL": "127.0.0.1:3310",
"FailoverMasterLogFile": "bin.000001",
"FailoverMasterLogPos": "459",
"FailoverSemiSyncSlaveStatus": true,
"FailoverIOGtid": [{"DomainID": 0, "ServerID": 3310, "SeqNo": 1}],
"ElectedMasterURL": "127.0.0.1:3311"
}
]
}
Location 3: API endpoint
GET /api/clusters/cluster_name/crashes
When crashes are cleared: When cluster topology returns to no ERROR state.
Reference: /pages/07.howto/03.toubleshoot-crashes/docs.md:26