es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtengo el error (#2006 – El servidor MySQL ha desaparecido) en ciertas partes de mi script de SQL.

Hice una copia de seguridad de la base de datos de un sitio Drupal9 e intenté usarla en otro servidor.

Obtuve el error:

#2006 – El servidor MySQL se ha desconectado.

Pensé que era debido a algún archivo, consulta o límite de tamaño de paquete, pero no importa cuánto comprimí la base de datos y cuánto edité los parámetros del servidor (como “max_allowed_packet”, etc.).

Finalmente descubrí que no era nada de eso, sino esta parte específicamente:

ALTER TABLE aza_node_revision__body
ADD PRIMARY KEY (entity_id,revision_id,deleted,delta,langcode),
ADD KEY bundle (bundle),
ADD KEY revision_id (revision_id),
ADD KEY body_format (body_format);

Sin saber por qué falló esta parte, intenté dividirla en dos:

ALTER TABLE aza_node_revision__body
ADD PRIMARY KEY (entity_id,revision_id,deleted,delta,langcode);

ALTER TABLE aza_node_revision__body
ADD KEY bundle (bundle),
ADD KEY revision_id (revision_id),
ADD KEY body_format (body_format);

Afortunadamente, funcionó, pero no sé por qué el servidor se desconectaba al ejecutar esta parte de la consulta.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en informática especializado en MySQL, SQL y Drupal 9, si te encuentras con el error “MySQL server has gone away” al intentar utilizar la base de datos de un sitio de Drupal9 en otro servidor, podrías pensar que el problema se debe a un archivo, consulta o límite de tamaño de paquete. Sin embargo, no importa cuánto comprimas la base de datos o edites los parámetros del servidor, el problema persiste.

    Después de investigar un poco, descubres que el problema no está relacionado con los factores mencionados anteriormente. En su lugar, la parte específica que causa el error es la siguiente consulta Alter table:

    ALTER TABLE `aza_node_revision__body`
    ADD PRIMARY KEY (`entity_id`,`revision_id`,`deleted`,`delta`,`langcode`),
    ADD KEY `bundle` (`bundle`),
    ADD KEY `revision_id` (`revision_id`),
    ADD KEY `body_format` (`body_format`);

    No estás seguro de por qué esta consulta en particular está provocando que el servidor se desconecte. Como solución, divides la consulta en dos partes de la siguiente manera:

    ALTER TABLE `aza_node_revision__body`
    ADD PRIMARY KEY (`entity_id`,`revision_id`,`deleted`,`delta`,`langcode`);

    ALTER TABLE `aza_node_revision__body`
    ADD KEY `bundle` (`bundle`),
    ADD KEY `revision_id` (`revision_id`),
    ADD KEY `body_format` (`body_format`);

    Afortunadamente, este enfoque funciona. Sin embargo, todavía necesitas determinar por qué la consulta inicial provocó que el servidor se desconectara.

Comments are closed.