Pregunta

Para una limpieza caída poco, me voy a mudar 25 tablas entre bases de datos MySQL (diferentes piezas de hardware). Esta no es la base de datos completa, a sólo 25 mesas fuera de unos pocos cientos de ... Estas tablas no pertenecen realmente allí, no voy a entrar en eso que para NDA razones.

Ahora, esto va a romper una gran cantidad de código y consultas SQL.

¿Cuál es la mejor manera de ir haciendo esto?

  1. Mover por todas partes a la vez.

  2. moverlos más de 1 por 1

-

Moverlos sobre todo a la vez, es una especie de agradable. Podría haber algunas interrupciones y código roto que echaba de menos, pero se mueve como un bloque es mucho más rápido, menos tiempo dedicado a empujar a cabo código.

Moving ellos uno por uno es un poco agradable, menos posibilidades de rotura gran cosas, pero mucho más tiempo se gastará la microgestión de la obra, el trabajo redundante, y el despliegue.

¿Es posible para mí a reflejar las tablas entre dos bases de datos por un tiempo? Una tabla federada tal vez?

-

info

Otra información: Hay 25 mesas están todos relacionados por el contenido de uno al otro.

no puedo shutdown las bases de datos para horas a la vez, a unos 5 minutos de tiempo de inactividad sería aceptable.

-

¿Cuál es la mejor manera de hacerlo mover todos estos datos y mantener el código, SQL, y yo en gran forma?

Podría federar las tablas como una forma de replicar las tablas a una nueva base de datos?

-Daniel

¿Fue útil?

Solución

Parece que moverlos durante uno a la vez sería el camino a seguir. De esa manera usted tiene un montón de pequeños problemas fáciles en lugar de un problema muy grande y dura. Espero que tenga su sistema bajo una gran cantidad de pruebas automáticas para asegurarse de que todo esto arrastrando los pies no se rompe nada.

Otra cosa: se habla de cerrar la base de datos. Si estás haciendo los cambios en un entorno de desarrollo y sólo hacer los cambios en vivo cuando estás seguro que funciona todo, ¿por qué se necesita tener ningún tiempo de inactividad en la producción? Espero que no estés pensando en hacer estos cambios en la producción sin hacerlo en el desarrollo en primer lugar.

Otros consejos

Puede utilizar SQLyog (front-end MySQL) para hacerlo.

opción es Meny Herramientas -> Base de datos de sincronización asistente

Usted debe ser capaz de abrir tanto la base de datos remota (host% debería estar allí)

estado allí, hecho eso, y de hecho en el medio de un proyecto similar en este momento. Con nuestros proyectos, hemos heredado unos pocos que no sabemos lo que son o dónde está todo, pero aquí es el flujo general:

  • En nuevo servidor, configurar las cuentas apropiadas
  • Encuentra dónde cambiar el servidor de nombre de usuario y / contraseñas si es necesario en la aplicación de configuración
  • Cierre la aplicación web por lo que no hay ningún escrituras mientras se mueve
  • Mover la base de datos
  • Volver a configurar la aplicación
  • Fuego que una copia de seguridad
  • Repetir para cada DB / aplicación

Para cosas pequeñas, esto sólo tarda unos segundos. SQLyog es una gran ayuda aquí. Si usted tiene grandes bases de datos o decide que no desea ningún tiempo de inactividad, a continuación, debe tener en cuenta la replicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top