unreal4u's Personal Network Because my reality… is just your virtuality

30Sep/10Off

Chequear sintaxis de my.cnf y httpd.conf

Aunque por lo general ningún servidor me da problemas, la máquina que aloja este blog está dando un poco de jugo. El proceso del Apache tiene la mala costumbre de tomarse el 100% del procesador por algunos segundos (hasta 30) y durante ese lapso de tiempo simplemente no aparece nada en el cliente. Sin embargo, ese error es tan vago que no da para nada más. En los logs tampoco aparece nada inusual, así que simplemente aplicaré regla de oro en la informática: ir probando para ver si puedo replicar el error. (Que manera tan elegante de decir: "prueba y error").

Para hacer esto, frecuentemente estaré retocando algunos archivos de configuración, primordialmente la de MySQL y por supuesto la de Apache y PHP, pero... como se trata de una máquina en producción, no puedo darme el lujo de retocar el archivo de configuración, reiniciar el servicio y darme cuenta que no se levantó debido a que existe un error en la sintaxis. ¿Cómo se hace entonces para verificar que el archivo de configuración está correcto?
La respuesta a esta interrogante es bastante fácil de responder, aunque en MySQL es bastante más vago que en Apache.

Apache trae incorporado un comando que permite reiniciar el servicio realizando una verificación de sintaxis previa. Si la sintaxis está bien, cargará a RAM las nuevas directivas. Si la sintaxis es incorrecta, muestra un mensaje de error y no cargará a RAM la nueva sintaxis. El comando para hacer esto es:

/etc/init.d/httpd reload

Con esto podemos comprobar los cambios que hemos hecho en httpd.conf y en php.ini.

Para MySQL es un poco más complicado, porque no existe una herramienta que compruebe bien la sintaxis. Sin embargo, podemos ejecutar:

mysqld --help
# opcionalmente
mysqld --help --verbose

Nótese que si no se encuentra el programa, se debe hacer un whereis mysqld y ejecutar la ruta completa en vez de la relativa.

Por mientras seguiré analizando qué es lo que pasa y más importante aún: por qué pasa.

¿Te gustó este artículo?

¡Considera suscribirte a nuestro feed!

Sobre Camilo Sperberg

Es Ingeniero Informático especializado en Linux y PHP (Es la primera persona en certificarse en PHP5.3 en Chile). En su tiempo libre le gusta estudiar nuevas técnicas de programación y escribir. Además, es amigo de todo ser viviente y cree que la tecnocracia es la mejor forma de política.
Archivado en: Bases de Datos, Linux, 1,691 vistas Comments Off
Comentarios (2) Trackbars (0)
  1. Hola, yo tambien tengo ese problema, tengo una aplicacion hecha en php y cuando realizo una busqueda sin filtro de una tabla de 8 mil registros se queda pegado y no deja que otros clientes puedan hacer algo en esa aplicacion, es como si un solo cliente se consumiera todos los recursos del sistema, no entiendo muy bien porque. es una buena maquina, si has podido resolver algo te lo agradeceria mucho! saludos.

    • Hay que ver el caso a caso, pero lo que mencionas me parece mucho que tiene más que ver con un tema de locks que de otra cosa. De todas formas, faltan datos:
      Qué OS? Qué versión de MySQL? Cuánto demora la consulta normalmente? Qué máquina? La tabla está “sana”? Te pasa con más consultas o sólo con esa?

      Saludos.

Trackbacks are disabled.