Se você perdeu acesso ao painel WordPress, este guia cobre os dois cenários mais comuns em produção:
- criar um novo administrador;
- redefinir a senha de um usuário existente.
O WordPress trabalha com diferentes níveis de usuários, cada um com permissões específicas:
- User: acesso apenas à leitura e edição do próprio perfil.
- Manager: herda permissões de user e também pode ler e editar artigos.
- Collaborator: herda permissões de user e pode enviar artigos.
- Administrator: possui todas as permissões do sistema.
Aviso: As permissões podem variar conforme instalação, tema e plugins.
Criando usuário
Via WP-CLI
Se o WP-CLI estiver instalado, você pode criar o novo administrador rapidamente.
Guia de instalação:
<https://zd123.com.br/article/instalando-wpcli-na-hospedagem/>
Crie o usuário administrador:
php wp user create NOME_USUARIO EMAIL --role=administrator --user_pass="SENHA"
Confirme se foi criado:
php wp user list
Via banco de dados
Se não tiver acesso ao WP-CLI, é possível criar o administrador direto no banco.
Identifique o banco usado na instalação:
grep DB wp-config.php
Conecte ao MySQL/MariaDB:
mysql -u USUARIO -p
Se o login estiver correto, verá algo como:
MariaDB [(none)]:
Selecione o banco:
use BANCO_DE_DADOS;
Liste as tabelas para identificar o prefixo:
show tables;
Exemplo de saída:
| wp_e_events |
| wp_e_submissions |
| wp_expm_maker_pages |
| wp_ezoic_endpoints |
Nesse exemplo, o prefixo é wp_.
Agora crie o novo usuário administrador:
INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_status, display_name)
VALUES ('NOME_USUARIO', MD5('SENHA_USUARIO'), 'NOME COMPLETO', 'EMAIL_USUARIO', 0, 'NOME COMPLETO');
- NOME_USUARIO: exemplo
joao - SENHA_USUARIO: use senha forte
- NOME COMPLETO: nome e sobrenome
- EMAIL_USUARIO: e-mail válido do usuário
Exemplo prático:
INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_status, display_name)
VALUES ('usuario', MD5('mudar123'), 'Usuario Teste', 'usuario@teste.com.br', 0, 'Usuario Teste');
Query OK, 1 row affected (0.001 sec)
Verifique o ID atribuído:
SELECT ID FROM wp_users WHERE user_login = 'NOME_USUARIO';
Saída esperada:
SELECT ID FROM wp_users WHERE user_login = 'usuario';
+----+
| id |
+----+
| 90 |
+----+
1 row in set (0.001 sec)
Aviso: O ID muda a cada novo usuário criado. No exemplo acima, o ID é 90.
Agora atribua permissões de administrador:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
VALUES (ID_DO_USUARIO, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
Exemplo:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
VALUES (90, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
Query OK, 1 row affected (0.004 sec)
Adicione também o nível do usuário:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
VALUES (ID_DO_USUARIO, 'wp_user_level', '10');
Exemplo:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
VALUES (90, 'wp_user_level', '10');
Query OK, 1 row affected (0.001 sec)
Pronto. O usuário já terá permissões administrativas e poderá acessar o wp-admin.
Redefinindo senha com segurança
Quando a conta já existe, redefinir senha costuma ser mais rápido do que criar novo admin.
Via WP-CLI
Liste usuários e atualize a senha do ID correto:
php wp user list
php wp user update ID_DO_USUARIO --user_pass="NOVA_SENHA_FORTE"
Via banco de dados (emergencial)
UPDATE wp_users
SET user_pass = MD5('novaSenha123')
WHERE user_login = 'usuario';
Importante: depois do acesso restabelecido, altere novamente a senha pelo painel para que o WordPress regrave hash moderno.
Este post está licenciado sob CC BY-NC.
Comentários
Participe da discussão abaixo.
Comentários ainda não configurados. Adicione as opções do Cusdis em /assets/json/config/blog-comments-config.json.