Expiración de contraseñas en MySQL

Desde la versión 5.6.6, MySQL implementó la posibilidad de poner caducidad o tiempo de expiración de contraseñas. Esto era algo que se llevaba mucho tiempo hablando y que era necesario, ya que la seguridad de los datos también reside en el lugar dónde se almacenan. Para reforzar esto, MySQL puede obligar a un usuario a cambiar la contraseña o el propio administrador puede forzar dicho cambio.
mysql> ALTER USER 'javier'@'localhost' PASSWORD EXPIRE;
Con ello, la próxima vez se conecte dicho usuario tendrá que cambiar la contraseña.
shell> mysql -u javier -p
mysql> SELECT 1;
  ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
Con lo que nos está avisando de que necesitamos restablecer nuestra contraseña para poder hacer cualquier cosa. Para ello,
mysql> SET PASSWORD = PASSWORD('your_password');
  Query OK, 0 rows affected (0.01 sec)

mysql> SELECT 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)
Si el cliente que se está usando para la conexión no tiene soporte para cambiar la contraseña, obtendremos el siguiente mensaje al conectar,
shell> mysql -u myuser -p
  ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
Con lo que tendremos que actualizar el cliente de conexión para poder seguir trabajando.
Este cambio es importante, pero también debemos tener cuidado con él, pues la fecha de expiración de una contraseña para usuarios de consulta web, por ejemplo, podría darnos dolor de cabeza.

Más información sobre esta nueva feature en la documentación oficial.


1 comentario :

  1. Hola, gracias por el consejo me ayudo mucho ya que no estaba al tanto de los cambios de contraseña, ahora como puedo verificar la fecha de expiración y como puedo configurar una nueva fecha de expiración?

    Saludos.

    ResponderEliminar

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios