A alguien le pasó esto alguna vez?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
cristianwds's picture

Estoy intentando instalar un modulo y cuando termino de habilitarlo me aparece este error:

Warning: MySQL server has gone away query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:476145:\"MySQL server has gone away\nquery: UPDATE cache_update SET data = 'a:47:{s:10:\"admin_menu\";a:10:{s:5:\"title\";s:19:\"Administration menu\";s:10:\"short_name\";s:10:\"admin_menu\";s:10:\"dc:creator\";s:3:\"sun\";s:11:\"api_version\";s:3:\"6.x\";s:17:\"recommended_major\";s:1:\"1\";s:16:\"supported_majors\";s:3:\"1,3\";s:13:\"default_major\";s:1:\"1\";s:14:\"pro in /home/diasdehi/public_html/includes/database.mysqli.inc on line 128

a alguien le pasó?

hay algun limite de modulos que se puedan instalar? porque si lo desinstalo y vuelve todo a la normalidad.

que debería decir en este archivo: /includes/database.mysqli.inc on line 128?

el sitio es http://www.diasdehistoria.com.ar

muchas gracias.

Comments

Cristian, Seguramente el

mariano.barcia's picture

Cristian,

Seguramente el shared hosting que tiene un timeout de MySQL de 15 segundos o algo así, y drupal tiene algunas operaciones que duran más.

Una solucion es utilizar db_tweaks
http://drupal.org/project/db_tweaks

HTH, salud

Mariano

cristianwds's picture

gracias por tu respuesta,

pero me sigue pasando lo mismo ya que cuando quiero habilitar este modulo db_tweaks me explota todo con ese mismo error.

Creo que no debo tener todos los permisos en el servidor...voy a averiguar

muchas gracias

Arsan

Podés adoptar esta solución

mariano.barcia's picture

Podés adoptar esta solución como temporaria, y luego habilitar db_tweaks y volverla atrás.
http://drupal.org/node/259580#comment-1511512

ahora si Mariano

cristianwds's picture

millon de gracias

ya volvio a la normalidad

saludos

Arsan

Entrá en phpmyadmin y fijate el estado de las tablas

victorkane's picture

Efectuá un repair de las tablas que tiene overhead o que están marcados como "en uso".

Suena más que tenés algun problema con alguna tabla en tu base de datos si todo ha estado bien hasta ahora.

Realmente espero que me funcione bien

amarilys's picture

Llevo dos dias que no descanso con este problema, pero luego llegué a este sitio y hasta ahora, puedo decir que encontre la solucion. Mil Gracias.

Hay un artículo muy interesante publicado ayer

victorkane's picture

sobre problemas afines:

http://www.advomatic.com/blogs/dave-hansen-lange/dreaded-mysql-has-gone-...

Resulta que los problemas de que MySql "se vuelva loco" y paralice un servidor muchas veces es debido a que por defecto, cada conexión con la base de datos sigue con vida por 8 horas. Entonces si algo pasa y no se termina la transacción bien, se van consumiendo todas las conexiones. Entonces la gente agrega en /etc/my.cnf (el archivo de configuración de MySql) una entrada para "wait_timeout" de unos pocos minutos. Entonces, nunca más mensajes de error "no hay más conexiones ..."

La contra de esto es que, cuando hay una tarea larga y/o pesada, que necesita más tiempo, la conexión termina antes de lo debido, y ahora recibís el error elusivo "MySql se ha ido..." (MySql has gone away...).

Como esto ocurre con tareas especiales (tipo cron, etc., con indexación para la búsqueda de Drupal, etc.), el artículo sugiere algo de código PHP para customizar el tiempo de vida (wait_timeout) para sesiones especificas, una opción no muy conocida.

Lo probe y funciono

m.reyes74's picture

Hola amigos llevaba dias con el problema, gracias por el aporte, me ha sido de gran ayuda

Un saludo

no hay caso

mama21mama's picture

no hay caso me pasa lo mismo

Warning: MySQL server has gone away query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:567009:\"MySQL server has gone away\nquery: UPDATE cache_update SET data = 'a:40:{s:5:\"abuse\";a:10:{s:5:\"title\";s:5:\"abuse\";s:10:\"short_name\";s:5:\"abuse\";s:10:\"dc:creator\";s:6:\"BTMash\";s:11:\"api_version\";s:3:\"6.x\";s:17:\"recommended_major\";s:1:\"1\";s:16:\"supported_majors\";s:3:\"1,2\";s:13:\"default_major\";s:1:\"1\";s:14:\"project_status\"; in /home/a8488742/public_html/mamalibre/includes/database.mysql.inc on line 136

victorkane's picture

Si se repite esto con frecuencia hay problemas de configuración de MySQL en tu sitio.

Consultáme respecto a mentoring sobre el asunto.

El mismo problema sin arreglar

marta_yo's picture

Yo también tengo exactamente ese problema al ejecutar el cron teniendo el módulo search activado.

La web está en un hosting compartido pero con el paquete business, el más caro.

Probé a borrar el semáforo, el módulo db_tweaks y el supercron, el hook en database.mysql.inc y database.mysqli.inc, en las Opciones de búsqueda aumenté el nº de letras a indexar y reduje el nº de elementos, y finalmente probé el módulo que indicó victorkane.
Nada funcionó, sigo con el mismo mensaje :(

Es un tema no sencillo, pero

victorkane's picture

Es un tema no sencillo, pero por las dudas, probá con el siguiente configuración para MySql (o pedí que el soporte lo haga, en lo posible):

wait_timeout = 1800

ya que por defecto si un thread se cuelga el timeout es muy largo, y se van usando todos.

Podría ayudar. ¿Qué hosting estás usando?

es un hosting business de ovh

marta_yo's picture

es un hosting business de ovh

En su sitio web hacen alarde de "High availability"

victorkane's picture

Entonces deben ayudarte en el tuning del MySql.

Ahora bien, como es el caso con otros hosting, el servidor de MySql no está en el mismo servidor que el servidor web; esto podría llevar a lentitud en la hora de hacer búsquedas y pedidos a la base de datos:

"The SQL Database Servers

MySQL databases are stored on separate servers renowned for this purpose.
Every SQL server is a high-availability machine with several RAID-1 hard disks. In case of a hard disk failure the other takes over its function without data loss. The security of your data is the most important issue for us."

http://www.ovh.co.uk/shared_hosting/we_hosting_without_limits.xml

Si tenés bastante tráfico, estarías mejor con un hosting que no hace esto, o, optar por un dedicated server (bastante más costo). Desgraciadamente, parece que no tienen VPS.

Hoy día Drupal no es una cosa rara que alguna gente usa, sino una solución de primera, entonces el hosting te tiene que ayuar con esto.

La otra, Marta, sería sacar el cron, y indexá cada tanto a mano en un horario de poco tráfico, sacando el sitio fuera de línea para hacerlo.

mm... lo de indexar el sitio

marta_yo's picture

mm... lo de indexar el sitio manualmente es muy interesante, así podría hacerlo poco a poco y ver cuál es el problema. el módulo supercron te permite desactivar cada tarea del cron de manera individual, puedo desactivar el search y dejar el resto.

alguna idea o módulo por dónde empezar?

lo del servidor dedicado ya lo habíamos pensado, pero para más adelante. de momento solo tiene unos 550 usuarios y no hay más de 20 o 30 usuarios conectados a la vez como máximo. no debería estar dando estos problemas tan pronto...

Correr cron desde la administración

victorkane's picture

Por ejemplo, en Drupal 6, andá a Configuración del sitio / Opciones de búsqueda

Bajar el número de elementos a indexar en cada ejecución del cron (digamos a 50 o menos hasta que se resuelve el problema).

Luego, en un momento de poco tráfico, y tal vez las primeras veces con el sitio fuera de línea, oprimí el botón Volver a Indexar el Sitio

Para ejectuar cron manualmente, ir a Informes / Informe de estado (Reports / Status report)

Hacia el final, dice "Tareas de mantenimiento de cron" y te informa sobre cuándo fue ejecutado cron, y es allí donde hay un link a "ejecutar cron manualmente".

Yo por mí parte, no usaría todos los módulos "extrafalarias" sobre cron, etc. sino que correría cron manualmente hasta que se solucione (bajando la cantidad de elementos a indexar)...

Avisá si eso ayuda.

eso ya lo había probado,

marta_yo's picture

eso ya lo había probado, poniéndole 10 elementos a indexar (el mínimo) y una longitud de 4 caracteres. pero nada.

me refería a hacer un módulo propio para indexar el sitio, pero no entiendo muy bien qué valores tienen las tablas search_dataset, search_index, etc.

también he visto que existe la funcion _node_index_node($node), empezaré por ahi

Buscá un VPS bueno y barato y migrar a Apache Solr

victorkane's picture

Mucho menos esfuerzo que emparchar el viejo y horrible Drupal Search.

Recomiendo http://www.linode.com/ o slicehost

Tengo un artículo escrito sobre cómo instalar todo en linode: http://awebfactory.com.ar/node/444

gracias victor, voy a

marta_yo's picture

gracias victor, voy a mirarlos :)

Opciones de búsqueda

fagator's picture

Tengo este problema en opciones de busqueda desde que le di volver a indexar el sitio me sale ahora este codigo
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 78 bytes) in /home/dremcaja/public_html/sites/all/modules/views/includes/base.inc on line 158

ya le puse el el siguiente codigo adelante de la configuracion de la base de datos
ini_set('memory_limit', '64M');
y me sigue saliendo el mismo error necesito su ayuda urgente el sitio es www.dremcajamarca.gob.pe

Subí mas la memoria

casivaagustin's picture

Proba subiendo a 128, te queda corto 64MB

ini_set('memory_limit', '128M');

Saludos

Parece un problema de memoria....

GDrupal's picture

Me parece que necesitas mas memoria para Php o de alguna manera limitar lo que estan cargando los modulos.

-Si tienes algun modulo custom muy pesado trata de dividir los features en archivos .inc
-Deshabilita modulos que no necesites.
-Reescribe algun feature que use algun modulo contrib muy pesado como un modulo custom mas liviano.
-Asegurate de no tener habilitados modulos como devel u otros features de desarrollo que van a matar tu entorno de produccion.

Ultima instancia incrementa la memoria asignada a php en tu servidor.


G.A. Martin, Freelance Drupal Developer.

Opciones de búsqueda

fagator's picture

la web lo subi bien hasta que le di en Opciones de búsqueda:volver a indexar sitio y me empezo a salir ese error que puedes notar en mi sitio...como veras estoy empezando en drupal puedes ayudarme

Fatal error

fagator's picture

Sigue saliendo el mismo erro ya le subi la memoria y quiero deshabilitar modulo pero no puedo ingrezar por ningun lugar a mi sitio sale lo mismo http://dremcajamarca.gob.pe/

fgator revisa el php info

cnolasco's picture

verifica que realmente te este tomando el cambio localmente cuando realizas un cambio asi, necesitas restart de apache.

Saludos

produccion

fagator's picture

El sitio a estado funcionado bien no lo estoy trabajando localmente...www.dremcajamarca.gob.pe

aumentar memory_limit

marta_yo's picture

prueba a cambiarlo en el settings.php, luego haz un phpinfo para comprobar que realmente aumentó el tamaño de memoria. sino siempre podrás hacer una copia de seguridad, montarla en local y volverlo a subir...

aumentar memoria settings.php

fagator's picture

ya aumente la memoria en el settings.php, a 64, 128, 512, con todas esas y me sale el mismo error todo desde que volvi a indexar mi sitio......
necesito volver a tener la pagina en produccion tengo informacion que subir....

miraste en el phpinfo a ver

marta_yo's picture

miraste en el phpinfo a ver si te coge los cambios?
como te dice cnolasco reinicia el apache, y si puedes borra la cache
también puedes cambiarlo en el htaccess

DONDE

fagator's picture

DONDE SE ENCUENTRA EL PHP.INFO Y COMO SABER SI COGE LOS CAMBIOS..........COMO LES INDIQUE NO ESTOY TRABAJANDO DE MANERA LOCAL SI NO DESE UN HOSTIN Y DOMINIO

php info

fagator's picture

mira me sale esto en mi php info me puedes ayudar porfavor http://dremcajamarca.gob.pe/info.php

si buscas la variable

marta_yo's picture

si buscas la variable 'memory_limit' verás que la tienes a 256Mb, prueba a ponerla a 1024Mb o así. al final del .httaccess añade:
php_value memory_limit 1024M

Proba borrar los modulos que

leofishman's picture

Proba borrar los modulos que no estes usando directamente, al menos hasta que vuelva a levantar la web.

suerte

Ayuda por favor!

adminberr's picture

Hola, después de instalar drupalCommons en local y acceder a su configuración(Site building,el menú.....) me saca este error encima de la pagina , y la verdad no consigo superarlo , llevo dos días intentando y buscando y nada.. he aumentado el limite de la memoria el timeout ... y nada si alguien le ha asado lo mismo y me puede ayudar se lo agradecería monton.
Saludo.

Warning: MySQL server has gone away query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:7:\"warning\";s:8:\"%message\";s:48:\"mysql_query(): Error reading result set\'s header\";s:5:\"%file\";s:57:\"C:\xampp\htdocs\DrupalCommons\includes\database.mysql.inc\";s:5:\"%line\";i:115;}', 3, '', 'http://localhost/DrupalCommons/admin/build', 'http://localhost/DrupalCommons/', '::1', 1387115356) in C:\xampp\htdocs\DrupalCommons\includes\database.mysql.inc on line 135

hi I think you are using

asghar's picture

hi

I think you are using window OS so that you are facing this issue. You can tackle this issue by configuring mysql directive.

max_allowed_packet

in \bin\my.ini file.

RE

adminberr's picture

Hola, gracias pero lo he hecho antes y sigue el problema!
chukran

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week