Mostrando las entradas con la etiqueta password. Mostrar todas las entradas
Mostrando las entradas con la etiqueta password. Mostrar todas las entradas

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!

MySQL - Authentication with old password no longer supported

I was resuming a web development for a customer and when I tried to test it live on the internet ¡bang!, an error jumps out when the application attempts to connect to the database: "Authentication with old password no longer supported, use 4.1 style passwords".

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

I made some attempts to change the password but I kept getting some other errors:

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

Finally, I double checked the official MySQL pages (here) and found the solución. It turned out that I only needed to write the database user name without the quotes:

 SET PASSWORD FOR username = password( 'mynewpassword' )

Summary: it seems that there was a change in MySQL version 5.1 regarding how the password is encrypted. Then I suspected that my web hosting was using a non fully compatible Parallels Plesk Panel/cPanel - PHP MyAdmin - MySQL.

I solved the issue but if you, like me, are curious about the MySQL server version your web hosting is using, you can get that data by executing the following query:

SHOW VARIABLES LIKE "%version%";


¡Greetings!