sql >> Base de Datos >  >> RDS >> Mysql

En RDS, ¿puedo crear tablas en una réplica de lectura que no estén presentes en el maestro?

Sí, es posible. Lo estoy usando con éxito usando RDS , para el caso específico de un caché local.

Debe configurar read_only parámetro en su réplica a 0 . Tuve que reiniciar mi servidor para que ese parámetro funcionara.

Funcionará bien si usa diferentes nombres de tabla, ya que RDS no le permite configurar:replicate-ignore-table parámetro.

Recuerde que no debe haber ninguna colisión de datos entre maestro <> esclavo. Si hay una declaración que funciona bien en MASTER , pero falla en SLAVE , entonces acaba de romper su replicación. Eso podría suceder, p. cuando haya creado una tabla en SLAVE primero, luego, después de un tiempo, ha agregado esa tabla a MASTER . El CREATE la declaración funcionará limpia en MASTER , pero falla en SLAVE , ya que la tabla ya existe.

Suponiendo que debe tener mucho cuidado al permitir que su aplicación escriba en SLAVE . Si olvida o comete un error y comienza a escribir para leer la réplica de algunos de sus otros datos, al final podría perder datos o experimentar problemas difíciles de depurar.