2010-06-10 23 views
7

Tengo una gran base de datos de producción en este momento (7GB +), mucha de la información que necesito para probar mis ramas de desarrollo debe estar actualizada.Manteniendo una base de datos MySQL local sincronizada con una base de datos en vivo (replicación MySQL?)

Me gustaría crear un DB local para poder implementar un servidor de CI y tener el DB de desarrollo separado para el DB de producción, sin embargo con un DB de este tamaño ¿cómo me aseguro de que siempre esté sincronizado?

He pensado en la replicación, pero ¿qué ocurre si la conexión está en mi servidor local o si he cambiado la estructura de la base de datos? ¿Cómo afectará esto a la replicación?

Gracias,

Gavin

+0

¿cómo planea mantener una base de datos de desarrollo sincronizada con la producción, teniendo en cuenta que puede hacer cambios en la tabla en desarrollo mucho antes de que entren en producción? –

+0

Sí, eso es parte del problema, no sé si es posible hacerlo, dado que el esquema podría cambiar un poco ... – Gcoop

Respuesta

4

¿cómo planea mantener una base de datos de desarrollo en sincronización con la producción, teniendo en cuenta que puede hacer cambios en la tabla en desarrollo mucho antes de que entren en producción?

sí que es parte del problema, que No sé si es incluso posible hacer que dado el esquema podría cambiar un poco ..

Será muy difícil tenga cualquier sincronización automática que no borre su problema o le cause problemas con sus cambios de desarrollo.

Por lo tanto, le recomiendo que restaure una copia de seguridad de producción manualmente y solo cuando lo necesite. Configure un trabajo para hacer el trabajo y simplemente ejecútelo según sea necesario (no lo programe). Desarrollar según sea necesario utilizando los datos actuales, siempre que sea posible. Cuando necesite una actualización, asegúrese de haber implementado/guardado en los archivos todos sus cambios de desarrollo, y luego restaure una copia de seguridad para el desarrollo. Si tiene "lanzamientos" a producción, entonces restaure después de eso. Deberá determinar qué funciona mejor. Sin embargo, ¡solo asegúrate de no perder ningún cambio de desarrollo al restaurar!

Si necesita tener una versión local que esté actualizada para problemas de soporte y depuración de producción, configure una base de datos "Soporte" y use la replicación. No hagas trabajo allí, ten una base de datos de desarrollo dedicada.

0

Considere vertido toda la base de datos en archivos de texto en forma de sentencias SQL (esquema y datos reales) y luego ponerlos bajo algún sistema de control de versiones que hará un seguimiento de los cambios.

+0

no puede usarlo realmente como una solución continua, aunque ... – Gcoop

Cuestiones relacionadas