systemadmin.es > DBA > Cambiar varios passwords al mismo tiempo en MySQL

Cambiar varios passwords al mismo tiempo en MySQL

Al aplicar un conjunto de cambios de contraseñas nos puede interesar que sean efectivas al mismo tiempo. Hoy vamos a ver como modificar la contraseña de un usuario mediante un comando SQL de update.

Para ver los usuarios y las contraseñas podemos hacer una consulta en la tabla user de la base de datos mysql:

mysql> use mysql
Database changed
mysql> select User,Password from user where user like 'ejemplo%';
+----------+-------------------------------------------+
| User     | Password                                  |
+----------+-------------------------------------------+
| ejemplo1 | *3E04A027486FB53129AC5812D2CF8E4062899311 |
| ejemplo2 | *3E04A027486FB53129AC5812D2CF8E4062899311 |
| ejemplo1 | *3E04A027486FB53129AC5812D2CF8E4062899311 |
| ejemplo1 | *3E04A027486FB53129AC5812D2CF8E4062899311 |
| ejemplo1 | *3E04A027486FB53129AC5812D2CF8E4062899311 |
| ejemplo2 | *3E04A027486FB53129AC5812D2CF8E4062899311 |
+----------+-------------------------------------------+
6 rows in set (0.00 sec)

Vemos que un mismo usuario puede tener varias entradas debido a que es desde un host diferente. A continuación podemos proceder a hacer un update con la función PASSWORD():

mysql> update user set Password=PASSWORD('ejemplocambio1') where User='ejemplo1';
Query OK, 4 rows affected (0.04 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> update user set Password=PASSWORD('cambio2ejemplo') where User='ejemplo2';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

Hasta este punto las nuevas contraseñas aún no son efectivas, para ello deberemos usar el comando flush privileges:

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

De esta forma los cambios los hemos podido hacer al mismo tiempo afectando al mínimo los cambios que se deben hacer en el lado cliente.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>