¿Qué sucede si usted matar a un largo alter consulta?

¿Qué sucede si usted matar a un largo alter consulta? Será el alter consulta simplemente volver? Cuánto tiempo podría tomar (como proporción del tiempo que ya ha estado funcionando)?

Lo que si que consulta está siendo replicado en otro servidor? Va a matar el proceso en el otro servidor revertir el servidor original alter consulta?

Estamos ejecutando mysql

  • Jaja, lo siento, tengo una hilarante imagen mental de un grupo de ingenieros acurrucados alrededor de un monitor, mirando a través de sus sudorosas frentes en este post – esperando por una respuesta -, mientras que un servidor mysql en el fondo comienza a echar humo.
  • jaja, teníamos mucho que deje de humo hasta que la consulta ha terminado. Pero sería bueno saberlo para la próxima vez.. dios no lo quiera
  • Bueno, aquí estoy. Yo estaba en el supuesto de que una copia fue hecha, así que la parada estaba bien, pero estaba sudando involucrados. Gracias a dios no estaba en producción, pero la escritura de bloqueo es infame.
InformationsquelleAutor B T | 2010-04-28

2 Kommentare

  1. 17

    Depende de lo que estás haciendo. Si usted está ejecutando an alter table...add index comando en un InnoDB tabla (no estoy tan seguro acerca de MyISAM), entonces será sólo correr y correr como lo copias todo el maldito bloqueo de tabla-valores-y-barril primero: si es en el medio de «copiar a la tabla temporal», es prácticamente imparable.

    Ver aquí:

    En la mayoría de los casos, MODIFICAR la TABLA de obras por
    realizar una copia temporal de la
    tabla original. La alteración es
    realizado en la copia y, a continuación, el
    tabla original se elimina y la nueva
    uno cambia de nombre. Mientras ALTER TABLE es
    la ejecución, en la tabla original se
    legible por el resto de las sesiones. Actualizaciones
    y escribe en la tabla están paralizados
    hasta que la nueva mesa está lista y, a continuación,
    se redirigen automáticamente a la
    nueva tabla sin ninguna de las actualizaciones fallidas.

    • Parece que nuestro caso era que uno «no tabla temporal es necesaria» – pero parece que nuestras tablas todavía encerrado, nuestras conexiones abiertas de pinchos, y tuvimos un 5 a 10 minutos de interrupción. Si nos matan a una consulta que no no crear una copia… ¿entonces qué?
    • ¿Cómo es que no tabla temporal fueron creados, lo que a su caso en concreto?
    • Por CIERTO, me mató el proceso durante la copia de la tabla temporal, se quitó la escritura de bloqueo y los datos todavía estaba allí y accesible. No tengo idea de donde la temp copia llegó.
    • La temp copia se desvincula cuando el ALTER se interrumpe.
  2. 0

    Lo que si que consulta está siendo replicado en otro servidor?

    El ALTER será ejecutado en el servidor, con los impactos asociados.

    Va a matar el proceso en el otro servidor revertir el servidor original alter consulta?

    Nope. El servidor original no tiene ningún canal de retorno para aprender acerca de lo que ocurrió (o no) en el esclavo. Si usted matar a los ALTER en el esclavo, entonces usted va a terminar en la situación en la que el maestro tiene la nueva restricción o índice, y el esclavo no. Esto rara vez es una receta para la felicidad 🙂

    Una vez un ALTER entra en el registro de réplica, tiene que dejar que se ejecute en todas partes, o matar a todos lados.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea