MySQL Master-Master replikációs kérdés

Sziasztok!

Beállítottam egy MySQL Master-Master replikációt, ami rendben működik, viszont előjött egy olyan probléma, hogy a

auto-increment-increment = 2
auto-increment-offset = 1

beállítások miatt az autoincrement érték nem folyamatos, ami pl. a számlázóprogramunk számára nem megfelelő, mert a számlasorszámozás nem folyamatos. Sajnos a programba nincs lehetőségünk belenyúlni, így külsőleg próbálom orvosolni a problémát.

Mindkét hoston futnak apache-php-mysql weboldalak, de egy weboldal egyidejűleg csak egy hoston fut (az azon a hoston futó saját adatbázisához kapcsolódik), tehát nem fordulhat elő ugyanabba a táblába konkurens írás mindkét hostról, így mindkét szerveren kikapcsoltam a fenti opciókat.

Csináltam próbákat, működik rendben, az egyetlen dolog, amiben bizonytalan vagyok, hogy a mysql táblában történhetnek-e ilyen írási műveletek? Adatbázis és felhasználó létrehozás/módosítás csak az egyik host-ról történik phpmyadminban vagy konzol alól.

Megjegyzem, hogy a feladat nem egy failover cluster építése volt, a Master-Master replikációval csak az volt a cél, hogy bármelyik host leállása esetén a másik hoston is rendelkezésre álljon minden adatbázis.

Köszönöm a hozzászólásokat előre is.

Zoli

Hozzászólások

A mysql tábla gondolom a mysql dbt jelenti és ebben az esetben a válasz, hogy nincs olyan tábla (egyedül timezone autoinc, de az ritkán módosul).

Amúgy illik ignoralni mysql dbt mm replikáció esetén, mivel egyik master upgradeje esetén szépen leállhat minden (mysql upgrade alterek miatt pl). Ettől még a grantok és user createk replikálódnak.

Az increment ertek allitasok valoban biztonsagi funkciok, amit mindaddig nem gond kihagyni mig esetlegesen bele nem futsz olyanba, hogy megis megtortenik a baj es utana helyre kelljen allitani a szinkront es persze adatvesztes nelkul a szukseges modositasok.
Nem is tanacsoljak jobb helyeken az increment ertekre alapozast ilyen modon, de ha nem tudsz klienshez hozzanyulni es nem is failover funkcio miatt van master-master replika akkor en azt javasolnam mindig csak az egyik szerverhez csatlakozzon minden kliensed.
Ennek legkonnyebb modja talan, ha felveszel kezzel egy ip-t (mivel nem failover es kliens webek kozt sincs redundancia igy rosszabb aligha lesz) amire csatlakoznak a mysql kliensek.
Ha gond lenne, mert megallt a host akkor kezzel fel tudod venni masik node-ra az ip-t es nem kell kliensekben atirogatni mysql server cimet, de megis egyszerre csak egyik szerverbe (amin az ip van) tortenik iras muvelet.

Nem akarok beleszólni, de ha az alkalmazáshoz semmi közöd és ezt a működést "nem támogatja", akkor inkább maradnék a HA megoldásnál és nem erőltetném a multimastert egy -vélhetően- nem is megfelelő környezetben.