A alguien le pasó esto alguna vez?
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.


Cristian, Seguramente el
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 Barcia
http://www.colaborativa.net
Mariano
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
Podés adoptar esta solución como temporaria, y luego habilitar db_tweaks y volverla atrás.
http://drupal.org/node/259580#comment-1511512
Mariano Barcia
http://www.colaborativa.net
ahora si Mariano
millon de gracias
ya volvio a la normalidad
saludos
Arsan
Entrá en phpmyadmin y fijate el estado de las tablas
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.
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
Realmente espero que me funcione bien
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
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.
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
Lo probe y funciono
Hola amigos llevaba dias con el problema, gracias por el aporte, me ha sido de gran ayuda
Un saludo
no hay caso
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 136Ver el artículo mencionado arriba sobre "MySQL server gone away"
Si se repite esto con frecuencia hay problemas de configuración de MySQL en tu sitio.
Consultáme respecto a mentoring sobre el asunto.
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
El mismo problema sin arreglar
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
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 = 1800ya 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?
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
es un hosting business de ovh
es un hosting business de ovh
En su sitio web hacen alarde de "High availability"
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:
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.
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
mm... lo de indexar el sitio
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
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.
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
eso ya lo había probado,
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
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
Victor Kane
http://awebfactory.com.ar
http://projectflowandtracker.com
gracias victor, voy a
gracias victor, voy a mirarlos :)