domingo, 8 de junio de 2014

MySQL - Authentication with old password no longer supported, use 4.1 style password

Estaba retomando un desarrollo web para un cliente y al intentar probar el sitio web en vivo en internet... ¡pum!, que me salta un error al momento de intentar la conexión a la base de datos: "Authentication with old password no longer supported, use 4.1 style passwords".

 SET PASSWORD FOR 'username'@'%' = password( 'mynewpassword' )

Estuve realizando algunos intentos de cambiar el password pero obtenía otros errores:

Access denied for user 'username'@'localhost' to database 'mysql' 
Access denied for user 'username'@'%' to database 'mysql' 

Finalmente, revisando las páginas páginas oficiales de MySQL (ver aquí). Me encontré con la solución y resultó que solamente tenía que poner el nombre del usuario sin las comillas:

 SET PASSWORD FOR username = password( 'mynewpassword' )

En resumen: al parecer hubo un cambio en la manera de establecer la encriptación de los passwords entre las versiones viejas de MySQL y la versíon 5.1. Ahí fue cuando sospeché que mi proveedor de web hosting estaba utilizando una versión "viejita" de MySQL. Por si acaso, les pica la curiosidad y quieren conocer la versión de su servidor de MySQL, es posible obtener ese dato ejecutando el siguiente query:

SHOW VARIABLES LIKE "%version%";


Saludos!

No hay comentarios.: