Cambiar contraseña de usuario de WordPress por línea de comandos

A veces, o tal vez regularmente, me ocurre que olvido la contraseña del usuario de WordPress de un sitio web, ya sea porque no la añado al gestor de contraseñas o en el momento invento una tan complicada que solo la recuerdo los días siguientes y luego la olvido para siempre. Ante esta situación siempre termino conectándome al servidor, luego a MariaDB/MySQL y luego cambio la contraseña insertando un hash al campo de contraseña del usuario al que quiero acceder.

Lo primero será conectarnos como usuario a MariaDB/MySQL, ya sea usando el todopoderoso usuario root o el mismo usuario de la base de datos que queremos editar.

1
# mysql -u root -p

Ahora seleccionamos la base de datos que queremos emplear y listamos las tablas, ya que en la instalación se puede emplear un prefijo diferente. De no haber hecho esto, la tabla en cuestión será wp_users

1
2
3
mysql> SHOW DATABASES;
mysql> USE basededatoswp;
mysql> SHOW TABLES;

Ahora buscamos el ID del usuario que deseamos cambiar:

1
2
3
4
5
6
7
mysql> SELECT ID, user_login, user_pass FROM wp_users;
+----+----------------------------+------------------------------------+
| ID | user_login                 | user_pass                          |
+----+----------------------------+------------------------------------+
|  1 | administrador              | $P$BdrP021yzdWQCN4Bm0u0jIESEq4Owr/ |
|  2 | usuario1                   | $P$B05MBOShAJwRrK4kSmbaEhk1WPWQ4O0 |
+----+----------------------------+------------------------------------+

Ahora actualizaremos la contraseña nueva

1
mysql> UPDATE wp_users SET user_pass = MD5('contraseña') WHERE ID = 1;

Existe una sintaxis alternativa, donde solo necesitamos conocer el nombre de usuario; sin embargo, no he logrado que esta actualice la contraseña a pesar que su sintaxis es correcta

1
mysql> UPDATE wp_users SET user_pass = MD5('contraseña') WHERE 'user_login' = 'administrador';

Podremos verificar así

1
2
3
4
5
6
7
mysql> SELECT ID, user_login, user_pass FROM wp_users;
+----+----------------------------+------------------------------------+
| ID | user_login                 | user_pass                          |
+----+----------------------------+------------------------------------+
|  1 | administrador              | 890bec3121ae0e73d2a22e3dd333ae5f   |
|  2 | usuario1                   | $P$B05MBOShAJwRrK4kSmbaEhk1WPWQ4O0 |
+----+----------------------------+------------------------------------+

Como se ve, el nuevo hash de la contraseña del usuario esta en formato MD5. Ahora podremos ingresar vía wp-login.php al tablero de WordPress. Una vez ingresemos, WordPress actualizará el hash una vez más en su mezcla propia de MD5 y PHPass.


Moisés Serrano Samudio Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth y diseñador/desarrollador de sitios web de salud. Médico, apasionado del EdTech/eHealth y diseñador/desarrollador de sitios web de salud.
Moisés Serrano Samudio

@linkmoises

Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth.

Entradas relacionadas

  1. Aún no hay comentarios...

Deja una respuesta

Su email no será publicado. Required fields are marked *