2012-01-07 13 views
11

Necesito agregar una columna a mi tabla actual.alter table mysql fuera de línea o no?

Esta tabla se usa mucho durante el día y la noche. descubrí que necesito modificar usando el comando alter encontrado aquí

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html 

Lo probé en un servidor de desarrollo.

me tomó alrededor de 2 horas en completarse. Ahora quiero ejecutar esto en el servidor de producción?

¿Esto detendrá mi sitio web?

Respuesta

14

Por qué no mostrar un mensaje en el sitio diciendo que llevará a cabo el mantenimiento de vez en la medianoche GMT de enero de 2012. 7

De esta manera, usted no romper ningún dato, no recibirá errores de MySQL. usted ejecuta su ALTER y usted inicia el sitio nuevamente una vez que se completa (no olvide su código para asegurarse de tener el campo correcto, etc.). Solución fácil

Stackoverflow lo hace, ¿por qué no el tuyo?

+0

me gusta la idea, pero ¿cuándo? –

+0

no hay "tiempo perfecto" por decir, verifique sus estadísticas y vea cuando no tiene o tiene poco tráfico y haga el cambio entonces. –

+0

buena idea, gracias por tu ayuda –

0

No va a detener su sitio web, pero es probable que lo haga arrojar errores.

Por supuesto, no hay forma de responder esto sin mirar todo el código de su aplicación.

La conclusión es que, en caso de duda, programe una ventana de mantenimiento.

1

Sí, durante una ALTER TABLE todas las lecturas y escrituras están bloqueadas. Si su sitio web necesita usar esa tabla, las solicitudes se bloquearán.

Probar pt-online-schema-change. Permite que las lecturas y escrituras continúen, mientras captura los cambios que se reproducirán en la tabla modificada una vez que se haya completado la reestructuración.

Pruebe detenidamente en su servidor de desarrollo para que sepa cómo funciona y qué esperar.

+2

parece complicado –

-3
  1. Haga que el servidor de producción apunte a dev db (o) espejo de prodcution db durante un tiempo.
  2. modificar la tabla en la producción
  3. desplegar el código que habla con db producción (con los nuevos atributos)

P.S: Siento que esto es más seguro y una manera a toda prueba (basado en mi experiencia).

Cuestiones relacionadas