martes, 30 de junio de 2015

Cannot connect to MySQL 4.1+ using old authentication

Cannot connect to MySQL 4.1+ using old authentication


Un saludo a todos, aquí les presento una nueva publicación.

Recientemente se cambiaron de servidores web, las que cuentan con nueva configuración de seguridad y con los paquetes actualizados de redhat, también se actualizó a PHP 5.3 y al cargar mi página web me encontré con este problema:


Revisando, encontré que el problema se origina por el MySQL que puede tener contraseñas con valores hash almacenados en el formato antiguo de 16 caracteres, que no se apoya en la nueva biblioteca de mysqlnd de PHP 5.3.

Entonces manos a la obra y resolvamos nuestro problema :

1. Cambio de MySQL a no utilizar old_passwords
Lo primero que verificamos, es la configuración del "old_password" del archivo de configuración de MySQL, Esto a razón de que algunas de las versiones de 5.x tienen todavía por defecto los antiguos hashes de contraseñas. Es necesario cambiar ento en "my.cnf", cambiar a :


Reinicie MySQL, si no lo hace MySQL seguirá usando el viejo formato de contraseñas.
2. Ingresamos a MySQL 
En la ventana de comandos usamos la siguiente consulta, para ver la longitud de las contraseñas almacenadas:

Los antiguos hashes son contraseñas de 16 caracteres, los nuevos son de 41 caracteres.

3. Cambiar el formato de las contraseñas en la base de datos al nuevo formato:
Una vez conectados a la base de datos, verificamos si nuestro usuario tiene la antigua contraseña:

Como podemos ver, el usuario "accweb" tiene una configuración de password antigua, ahora lo actualizaremos con la siguiente consulta:


4. Por último "flush privileges"


Y listo ya se visualiza de manera normal la pagina web.

No hay comentarios:

Publicar un comentario