sql >> Database teknologi >  >> RDS >> Mysql

På RDS kan jeg oprette tabeller i en Read Replica, der ikke findes på Master?

Ja, det er muligt. Jeg bruger det med succes ved at bruge RDS , for specifikke tilfælde af en lokal cache.

Du skal indstille read_only parameter på din replika til 0 . Jeg har været nødt til at genstarte min server, for at den parameter kunne fungere.

Det vil fungere fint, hvis du bruger forskellige tabelnavne, da RDS ikke tillader dig at indstille:replicate-ignore-table parameter.

Husk at der ikke må være nogen datakollision mellem master<>slave. Hvis der er en sætning, der virker ok på MASTER , men fejler på SLAVE , så har du lige brudt din replikation. Det kan ske f.eks. når du har oprettet tabel på SLAVE først og efter et stykke tid har du tilføjet den tabel til MASTER . CREATE sætningen vil fungere rent på MASTER , men mislykkes på SLAVE , da tabel allerede eksisterer.

Hvis det antages, at du skal være meget forsigtig, så din applikation kan skrive til SLAVE . Hvis du glemmer / eller laver en fejl og begynder at skrive for at læse replikaer for nogle af dine andre data, kan du i sidste ende miste data eller opleve problemer med svære fejlretninger.



  1. MYSQL udtrækker json-elementer, hvor json indeholder

  2. C# Windows-applikationsadgang til databasedata forbliver ikke ved afslutning

  3. Sådan installeres MySQL Workbench på Ubuntu

  4. MySQL LIKE I()?