Mysql a mariadb se v replikaci liší způsobem generování transakčních ID do binárního logu. MariaDB to má IMO lépe, přišla s tím později a vyvarovala se chyb mysql.
Doporučuji mít všechny tabulky v innodb (což by již dnes měla být samozřejmost), databázi za běhu přenést pomocí innobackupex (najdi si tutoriály na googlu, není to nic složitého). Pak je rozchození replikace jednoduché, protože kopie již přímo obsahuje ID poslední transakce, kterou replikaci nastartuješ.
Vykopíruješ data dir pomocí innobackupex, přeneseš na slave, nastartuješ, nastavíš replikační master a spustíš slave. Pokud jsi to nikdy nedělal, chvíli si s tím pohraješ, než se to naučíš. Pak už to běží spolehlivě. Je potřeba nechat na masteru dostatečně dlouhý binlog (v konfigu je počet dnů expire-logs-days), abys v případě problému se slavem měl dostatek času na jeho opětovné spuštění a nepřenesené logy se ti mezitím na masteru neodmazaly.
Replikace samozřejmě row-based, nebo kombinovanou (ale stejně se použije row-based).
Jinak replikace běží spolehlivě, používáme řadu let. Je ale dobré to něčím monitorovat (skript, nagios atd.), abys případný problém chytil včas a nenechal si utéct logy na masteru. Doporučuji slave nastartovat read-only, abys do něj nedopatřením nezapsal. Pak by se ti to rozjelo a musel bys jej obnovovat zase přes dump innobackupex (naštěstí je přitom master v plném provozu).