Três formas de restaurar o acesso de administrador do WordPress sem o painel: um mu-plugin que cria uma conta ao carregar a página (nenhuma ferramenta de banco de dados necessária), duas consultas SQL no phpMyAdmin ou Adminer, ou as mesmas consultas SQL pela linha de comando do MySQL.
| A sua situação | Melhor método |
|---|---|
| Apenas acesso por FTP ou gerenciador de arquivos — sem ferramenta de banco de dados | Opção 1 (mu-plugin) |
| Acesso ao banco de dados por phpMyAdmin, Adminer ou cPanel | Opção 2 (consulta SQL) |
| Acesso SSH ao servidor | Opção 3 (CLI do MySQL) |
Por que você precisaria adicionar um usuário administrador via MySQL
O acesso de administrador pode desaparecer por vários motivos: uma migração malsucedida que reescreve linhas de wp_usermeta, uma mudança de função de usuário mal feita, um plugin que corrompe as capacidades ou uma conta excluída por acidente. Nos tickets de suporte da WP STAGING, a causa mais comum de um administrador bloqueado é uma migração malsucedida que embaralhou a atribuição de função em wp_usermeta — veja como corrigir isso.
Criar um usuário administrador diretamente no banco de dados é seguro e reversível. Nada é excluído — você está apenas inserindo novas linhas. O sistema de usuários do WordPress lê dessas tabelas a cada login, então a nova conta fica disponível no momento em que as consultas são executadas.
Você precisa de um serviço de restauração do usuário administrador do WordPress? Obtenha o WP Staging Pro e um dos nossos desenvolvedores restaurará o usuário administrador do WordPress para você!
Antes de começar: encontre o prefixo de tabela do seu WordPress
Os três métodos exigem que você saiba o prefixo de tabela do seu banco de dados do WordPress. O padrão é wp_, mas muitos hosts ou ferramentas de migração o alteram (por exemplo, wpstg0_ ou abc_).
Abra o wp-config.php na raiz do seu site e localize a linha:
Substitua wp_ em cada exemplo SQL abaixo pelo valor que você encontrar ali. O prefixo também se aplica ao valor meta_key — se o seu prefixo for wpstg0_, a chave de capacidades é wpstg0_capabilities, não wp_capabilities.
Opção 1: Adicionar um administrador do WordPress com um mu-plugin (sem necessidade de acesso ao banco de dados)
Se você tem acesso por FTP ou pelo Gerenciador de Arquivos do cPanel, mas nenhuma ferramenta de banco de dados, um plugin de uso obrigatório (mu-plugin) é o caminho mais rápido. Crie um novo arquivo em wp-content/mu-plugins/add-admin.php e cole este código:
Altere user_pass, user_login e user_email para os valores desejados. Abra o seu site em https://example.com/?add-admin para disparar a criação da conta e depois faça login com as novas credenciais.
Exclua o arquivo do mu-plugin imediatamente após fazer login. Deixá-lo no lugar significa que qualquer pessoa que saiba a URL pode criar uma conta de administrador no seu site.
Opção 2: Adicionar um administrador do WordPress via phpMyAdmin ou Adminer
Abra a sua ferramenta de banco de dados — Adminer ou phpMyAdmin — e navegue até o painel de consultas SQL. Execute as três consultas a seguir em ordem, atualizando o prefixo e as credenciais para corresponder ao seu site.
Importante: Se você tem outro prefixo de tabela em vez de wp_, também precisará modificar o prefixo de tabela!
Passo 1 — Inserir a linha do usuário. Substitua o nome de usuário, a senha, o nome de exibição e o endereço de e-mail que você escolheu.
Passo 2 — Atribuir a capacidade da função de administrador.
Passo 3 — Definir o nível de usuário legado (verificado por temas e plugins mais antigos).
Depois que as três consultas forem bem-sucedidas, navegue até wp-login.php e faça login com as suas novas credenciais.
Se o seu prefixo não for wp_, substitua-o em cada ocorrência de wp_users, wp_usermeta, wp_capabilities e wp_user_level. Por exemplo, com o prefixo wpstg0_, os nomes das tabelas passam a ser wpstg0_users e wpstg0_usermeta, e a chave meta de capacidades passa a ser wpstg0_capabilities.
Opção 3: Adicionar um administrador do WordPress na linha de comando do MySQL
Se você tem acesso SSH, a linha de comando do MySQL produz o mesmo resultado da Opção 2 sem precisar de uma ferramenta baseada em navegador. As instruções SQL são idênticas — apenas a interface difere.
Passo 1 — Conectar-se ao servidor MySQL.
Substitua <username> pelo seu usuário do MySQL. Você será solicitado a inserir a senha.
Passo 2 — Selecionar o banco de dados do WordPress.
Substitua <database_name> pelo nome do banco de dados de wp-config.php (a constante DB_NAME).
Passo 3 — Inserir a nova linha do usuário.
Substitua <username>, <password>, <display_name> e <email> pelos seus valores. A função MD5() criptografa a senha; use uma senha forte aqui e altere-a pelo painel do WordPress depois.
Passo 4 — Obter o ID do novo usuário.
Anote o inteiro retornado — você precisa dele no próximo passo.
Passo 5 — Atribuir a função de administrador.
Substitua <user_id> pelo ID retornado no Passo 4.
Agora você criou um novo usuário administrador do WordPress na linha de comando do MySQL. Faça login no painel com o nome de usuário e a senha que você escolheu.
Solução de problemas: se a nova conta não funcionar
Se você ainda não conseguir fazer login, ou a conta aparecer em Usuários mas mostrar a função como Assinante em vez de Administrador, percorra estas três causas em ordem.
Prefixo de tabela errado
O erro mais comum é executar as consultas com wp_ quando o site usa um prefixo personalizado. Reexecute as consultas INSERT e UPDATE substituindo o prefixo correto de wp-config.php. O valor meta_key também depende do prefixo: wp_capabilities passa a ser <prefixo>capabilities, por exemplo wpstg0_capabilities.
Linha wp_usermeta ausente
O WordPress lê wp_capabilities de wp_usermeta para determinar a função a cada login. Se o Passo 2 (Opção 2) ou o Passo 5 (Opção 3) falhou silenciosamente — por exemplo porque a subconsulta user_id retornou NULL —, a conta existe em wp_users mas não tem função. Reexecute a consulta INSERT INTO wp_usermeta e verifique se a linha aparece na tabela antes de tentar fazer login novamente.
Conflito de e-mail duplicado
Se uma conta existente já possui o endereço de e-mail que você forneceu, o INSERT é bem-sucedido, mas o WordPress pode direcionar as tentativas de login para a conta mais antiga. Execute primeiro SELECT user_email FROM wp_users para confirmar que o e-mail ainda não está em uso, ou escolha um endereço de e-mail de recuperação único.
Depois de restaurar o acesso: reforce o seu login do WordPress
Quando você voltar ao painel, dedique alguns minutos para evitar um novo bloqueio:
- Ative a autenticação de dois fatores — qualquer plugin de 2FA confiável torna muito menos provável que um ataque de força bruta ou uma exclusão acidental de conta deixem você bloqueado para fora.
- Audite as funções de usuário — vá em Usuários → Todos os usuários e confirme que não há contas de administrador inesperadas, incluindo a conta de recuperação que você acabou de criar.
- Atualize o e-mail da conta de recuperação ou exclua-a assim que verificar que a sua conta de administrador principal está funcionando corretamente.
- Remova qualquer mu-plugin criado para esta recuperação de
wp-content/mu-plugins/imediatamente após recuperar o acesso. - Faça um backup completo antes de qualquer cirurgia futura no banco de dados para ter um ponto de rollback limpo.
Espero que este artigo tenha ajudado você a entender como criar manualmente um novo usuário administrador no seu banco de dados. Por favor, entre em contato conosco se você ainda tiver dúvidas ou se algo não estiver claro.