sql >> Database >  >> RDS >> Mysql

Kan ik op RDS tabellen maken in een Read Replica die niet aanwezig zijn op de Master?

Ja, het is mogelijk. Ik gebruik het met succes met behulp van RDS , voor een specifiek geval van een lokale cache.

U moet de read_only . instellen parameter op uw replica naar 0 . Ik moest mijn server opnieuw opstarten om die parameter te laten werken.

Het zal goed werken als je verschillende tabelnamen gebruikt, aangezien RDS je niet toestaat het volgende in te stellen:replicate-ignore-table parameter.

Onthoud dat er geen gegevensbotsing mag zijn tussen master<>slave. Als er een instructie is die goed werkt op MASTER , maar mislukt op SLAVE , dan heb je zojuist je replicatie verbroken. Dat kan gebeuren b.v. wanneer je een tabel hebt gemaakt op SLAVE eerst en na enige tijd heb je die tabel toegevoegd aan MASTER . De CREATE statement werkt schoon op MASTER , maar mislukt op SLAVE , aangezien de tabel al bestaat.

Ervan uitgaande dat u heel voorzichtig moet zijn, zodat uw toepassing naar SLAVE kan schrijven . Als u vergeet/of een fout maakt en begint te schrijven om replica te lezen voor sommige van uw andere gegevens, kunt u uiteindelijk gegevens verliezen of problemen ondervinden die moeilijk te debuggen zijn.



  1. De servertijdzonewaarde 'AEST' wordt niet herkend of vertegenwoordigt meer dan één tijdzone

  2. Transactionele DDL-workflow voor MySQL

  3. Nabijheid zoeken

  4. Waarom zweeft MySQL round veel meer dan verwacht?