Extraido de :

http://www.danterobles.com.mx/?p=66

Bueno escribo este post nada mas para que no se me olvide la simpleze que muchas veces suelen tener las soluciones de los problemas que nos llegan a poner de cabeza, dejenme les platico, uno de los clientes a los cuales les desarrollamos aplicaciones, tenia como dos semanas llamandamo por telefono, muy puntal despues de las 5:00 p.m. para decirme que de un momento a otro sus sistema se ponia lento….. tan lento que no podian ni siquiera abrir la aplicacion, al principio pense que seria una casualidad, despues que tal vez algun usuario tendria algun Virus, Spyware, Troyano o algo de esas cosas , despues pense que la red podria estar mal estructurada, seguido pense que algun usuarios estaba bajando Peliculas, por ultimo conclui que el esquema actual del Servidor de Base de Datos y Su Maquina Virtual estaban dejando completamente sin RAM al servidor, y que separando las cargas se resolveria el problema.

Para no hacer largo el Asunto Separamos las Cargas , en un Servidor se instalo el Sistema y en otro la Base de Datos, Resultado inmediato, el sistema funcionaba rapidom muy rapido, por un momento pense que seria todo lo necesario…………..

Error fatal Error, nunca hay que asumir nada, siempre hay que serciorarse de las cosas, me lo digo constantemente, pues el servidor del demonio, a las 5:00 p.m. en punto se dispuso a volver a su lentitud, revisamos todo, y aparentemente estaba en orden, salvo que habia en la consola de base de datos de MySQL, una serie de Procesos, bastantes por cierto, que decian “Unauthenticated User”, llamo nuestra atencion, porque lo ponia como Login y luego lo borraba, pero habia bastantes, total para no hacer el cuento largo efectivamente, la base de datos estaba lenta

Buscando en Google di con varias referencias, en foros de MySQL y encontre que ohh sorpresa no soy el unico con este problema, y ohh sorpresa nadie lo ha resuelto o aparentemente eso parecia, segun explicaban cuando tenias separado el WebServer y La base de datos era cuando se presentaba este asunto, si los dos estaban juntos en la misma instalacion, esto no se presentaba, para mis males no podia juntar ambos servidores ya que sobrecargaria la aplicacion, leyendo otros Post me encontre con uno que casi pasaba desapercibido que decia que el ya habia logrado identificar y corregir el asunto, la solucion…… bueno antes la explicacion

MySQL recibe conexiones por el puerto 3306, los clientes se identifican por IP o Hostname, por alguna causa desconocida para nosotros a las 5:00pm al servidor de base de datos se le ocurrio que antes de aceptar la conexion tenia que resolver el nombre del host, como en la LAN local no teniamos ningun DNS resolviendo hostnames, pues simplemente no lograba averiguar el nombre del cliente, y es este proceso el que lanzaba las peticiones “Unauthenticated User” y consumia muchos ciclos de procesador.

La solucion muchos imaginamos seria recompilar el MySQL, cambiar de version o hacer algo un poco mas salvaje, pues noooooo, la solucion era demasiado sencilla habia de dos caminos

  • 1.- Arrancar MySQL con la Opcion de –skip-name-resolve, pero nos parecio algo riesgoso porque tendriamos que probar primero, pero funciona
  • 2.- Agregar en el archivo /etc/hosts los nombres de los Clientes y sus IPs, esta parecia menos riesgos e igualmente util

Total Probamos la Opcion 2, edite el archivo hosts, solamente lo grabe, no reinicie nada ni MySQL ni servidor nada, y como por arte de magia,Zaz desaparecieron las peticones sin autentificacion, el procesador bajo de 100% a 30%, la RAM se estabilizo, La memoria Virtual dejo de consumirse y por consecuencia el desempeño de la aplicacion volo, mejoro, se quedo excelente.

Cual es la moraleja de estas situaciones, es como lo hemos comentado:

“Los Problemas mas complejos, suelen tener las soluciones mas sencillas”

Agrego de mi parte que hay que evaluar siempre todas las opciones y no dejar que nada se pase por alto, no asumir nada siempre tener la certeza de lo que se hace.

Este post es util para todos aquellos que administran bases de datos con MySQL

3 Respuestas para “MySQL “Unauthenticated User””

  1. Dante Robles
    desde Mexico Dijo:

    Jejejeje mendigo MySQL me saco mas canas , de las que ya tengo, menos mal lo resolvimos, digo lo dejamos por escrito no mas pa que no se nos olvide

    Saludos

    Responder

  2. hodavame
    desde Chile Dijo:

    Ohh!! te debo la vida!!

    Hace 3 semanas que ese problema me quita el sueño.

    GRACIAS.

    Responder

  3. Ruben Omar
    desde Mexico Dijo:

    De echo se la debemos en mayor parte Dante jeje y a Google y a los foros de Mysql

    Responder

Responder