La semana pasada tuvimos un caso de una web que teníamos que reparar pero no teníamos acceso administrador. Era urgente y el cliente no estaba accesible, así que, como teníamos acceso a la base de datos, creamos uno por SQL. Hoy os enseñamos a hacerlo.
Cómo crear un usuario administrador en WordPress por base de datos.
Lo primero es obviamente tener los datos de acceso a la base de datos y poder acceder a ella o por comandos de SQL o por (más fácil) phpMyAdmin. Una vez tenemos este acceso.
Método gráfico (phpMyAdmin).
- Haz una copia de la base de datos. No debería decirlo…pero siempre se debe hacer antes de modificarla. Cuando no lo haces “porque es fácil” es cuando falla.
- Ve a la tabla wp_users.
- Ahí dale a Insertar y rellenamos los siguientes campos.
- Campos (pongo los esenciales):
–ID: Hay que usar uno que no exista en la base de datos. Mira los que hay en esa tabla y pon un número que no esté en uso. Por ejemplo el 6.
–user_login: El usuario que vamos a usar, el que queráis. Por ejemplo goduser.
–user_pass: En valor tienes que poner la contraseña que quieres. Pero en función pon MD5 para que la meta encriptada y no en texto plano. Si no no sólo es un fallo de seguridad pero WordPress no la entenderá.
–user_nicename: Es el nombre de usuario corto. Puede ser el mismo que el login o (por ejemplo) uno el e-mail y el otro el nombre de usuario.
–user_email: el e-mail del usuario.
–user_registered: Pon una fecha. Te abre un calendario para ponerlo fácilmente.
–user_status: 0
–display_name: El nombre que se mostrará a otros usuarios o en publicaciones. - Dale a Continuar y, si no hay error, ya tienes el usuario creado. Pero todavía no podrás entrar o no será admin.
- Ahora tienes que ir a la tabla wp_usermeta.
- De nuevo dale a Insertar y rellena los siguientes campos.
- Campos:
– unmeta_id: No pongas nada. Lo pone el sistema.
– user_id: El id que pusimos en la tabla wp_users. En el ejemplo 6.
– meta_key: Pon esto: wp_capabilities
–meta_value: Pon (verás que el otro admin también lo tiene): a:1:{s:13:”administrator”;b:1;} - Dale a Continuar y debería grabarse esos valores. Todavía no está. Vuelve a insertar en esta misma tabla, wp_usermeta, otro registro con los siguientes campos.
- Campos:
– unmeta_id: No pongas nada. Lo pone el sistema.
– user_id: El id que pusimos en la tabla wp_users. En el ejemplo 6.
– meta_key: Pon esto: wp_user_level
–meta_value: 10 - Dale a Continuar para que se guarde.
Y ya estaría, ya podríais acceder al WordPress como administrador.
Método por comandos SQL.
Si no puedes usar phpMyAdmin te dejamos los comandos. Verás que son los mismos que hacemos en modo gráfico en el punto anterior.
- Haz copia de la base de datos.
- En la ventana de SQL con acceso a la base de datos pon los siguientes comandos. En azul puedes ver los valores que tienes que cambiar (mira arriba para la explicación):
INSERT INTO ‘wp_users’ (‘user_login’, ‘user_pass’, ‘user_nicename’, ‘user_email’, ‘user_status’)
VALUES (‘tuusuario‘, MD5(‘tucontraseña‘), ‘tunombrecorto‘, ‘tuemail‘, ‘0’);
INSERT INTO ‘wp_usermeta’ (‘umeta_id’, ‘user_id’, ‘meta_key’, ‘meta_value’)
VALUES (NULL, (Select max(id) FROM wp_users), ‘wp_capabilities’, ‘a:1:{s:13:”administrator”;s:1:”1″;}’);
INSERT INTO ‘wp_usermeta’ (‘umeta_id’, ‘user_id’, ‘meta_key’, ‘meta_value’)
VALUES (NULL, (Select max(id) FROM wp_users), ‘wp_user_level’, ’10’);
Como veis aquí crea el usuario (el id se lo dará SQL) y luego usa el max(id) para coger el último id que se ha creado (el tuyo).
Nota: Si tenéis problemas con los comandos cambiad (pones a mano) las comillas simples ‘. A veces al copiar pegar se ponen como otros valores.
Os recomendamos los siguientes productos relacionados con la informática:
hola, hago los insert pero no hay manera que me guarde el perfil, siempre me lo deja vacio. Ademas entro a worpdress y en el usuario registrado quiero asignarle un perfil y tambien me lo deja vacio
saludos
¿Seguro que tu usuario de base de datos tiene permisos de escritura?
Que tal hago tod lo que mencionas y efectivamente funciona, pero cuando ingreso los datos para wordpress, me sale la opcion de que no tengo permisos para usar la pagina, por que sera?
Mira los permisos de tu usuario a ver si de verdad es administrador.
Hola Carlos, ¿Llegaste a solucionar esto? Me está pasando exactamente lo mismo, en cuanto pongo un usuario como administrador no me deja acceder.
Nosotros hemos creado el usuario por base de datos varias veces y funciona sin problemas.Estás poniendo bien el MD5?
WP no me dejaba crear un nuevo usuario.
siguiendo las instrucciones: Método gráfico (phpMyAdmin) no he tenido ningún problema
No ma he hecho falta ir a la tabla wp_usermeta. ya que una vez dado de alta, desde el panel usuarios de WP he podido hacer las modificaciones pertinentes del usuario..
Muchas gracias.
Ricardo
Excelente articulo, ya soy la administradora del blog 🙂