sql >> Databáze >  >> RDS >> Mysql

Mohu na RDS vytvořit tabulky v replikě pro čtení, které nejsou přítomny na předloze?

Ano, je to možné. Úspěšně jej používám pomocí RDS , pro konkrétní případ místní mezipaměti.

Musíte nastavit read_only parametr na vaší replice na 0 . Aby tento parametr fungoval, musel jsem restartovat svůj server.

Bude to fungovat dobře, pokud použijete různé názvy tabulek, protože RDS vám neumožňuje nastavit:replicate-ignore-table parametr.

Pamatujte, že mezi master<>slave nesmí dojít ke kolizi dat. Pokud existuje příkaz, který funguje v pořádku na MASTER , ale selže na SLAVE , pak jste právě přerušili replikaci. To se může stát např. když jste vytvořili tabulku na SLAVE nejprve a po nějaké době přidáte tuto tabulku do MASTER . CREATE příkaz bude na MASTER fungovat čistě , ale selže na SLAVE , protože tabulka již existuje.

Za předpokladu, že musíte být opravdu opatrní a umožnit vaší aplikaci zapisovat do SLAVE . Pokud zapomenete / nebo uděláte chybu a začnete psát, abyste četli repliku pro některá ze svých dalších dat, můžete nakonec o data přijít nebo se setkat s těžko laditelnými problémy.



  1. Jak mohu vytvořit aplikaci pro Android s místní databází MySQL?

  2. SQLite Sum() vs Total():Jaký je rozdíl?

  3. Odstranit spojení ze dvou tabulek

  4. 2 Funkce, které získají den, měsíc a rok z data v Oracle