Imagine que você foi chamado para fazer a manutenção de um site WordPress, mas não tem acesso à conta de administrador. O desenvolvedor original não está mais disponível e ninguém sabe a senha da conta admin, ou até mesmo qual conta é a de administrador. Ou então, caso você já seja administrador de um site WordPress, perdeu sua senha e não está conseguindo recuperá-la. Felizmente, há uma solução simples e eficiente: utilizar o acesso ao banco de dados do site para recuperar ou criar um novo administrador.
Pré-requisito: acesso ao banco de dados.
É necessário que você tenha acesso integral ao banco de dados na hospedagem onde o site foi desenvolvido, ou mesmo em localhost. Se você não tem certeza de qual o host, username e senha do banco de dados, basta procurar por essa informação no painel da hospedagem ou então no arquivo wp-config.php, que fica na pasta raiz do site; se estiver na Hostnet essas informações serão encontradas no arquivo config_instalador.php, nas seguintes linhas (os termos podem estar traduzidos):
define('DB_NAME', 'nome-do-banco-de-dados');
mostra o nome do banco de dados
define('DB_USER', 'usuario');
mostra o nome do usuário que tem acesso ao banco de dados
define('DB_PASSWORD', 'senha-do-db');
mostra a senha de acesso ao banco de dados
define('DB_HOST', 'host-do-db');
mostra o host para acesso ao banco de dados

Observação: todos as prints do passo a passo aqui exibidas serão com o uso do painel da Hostnet. Se você está usando outra hospedagem siga os mesmos passos, apenas o caminho para acessá-los será diferente e você deverá verificar no painel como realizar o passo. O mesmo vale se estiver em localhost.
Passo 1: Acessar o banco de dados via phpMyAdmin
Acesse o painel de controle de hospedagem: a Hostnet possui painel próprio, mas outras hospedagens podem fazer uso do o cPanel ou uma ferramenta similar. Para acessar o painel da Hostnet abra o site da hospedagem, clique em Minha Conta e depois no botão Entrar. Depois adicione suas credenciais para ter acesso ao painel.

Abra o phpMyAdmin: Dentro do Painel, acesse Banco de dados > Banco de Dados MySQL e localize a opção phpMyAdmin
. Clique para acessar a interface.

Em seguida, na tela que abrir coloque as credenciais de acesso ao banco de dados para poder acessá-lo e realizar todas as operações necessárias para ter acesso administrativo ao site.

Selecione o banco de dados do WordPress: Na lista de bancos de dados à esquerda, encontre o banco que está associado ao site WordPress.

Passo 2: Identificar a conta de administrador
Localize a tabela wp_users
: Dentro do banco de dados, procure a tabela wp_users
(o prefixo pode variar, por isso pesquise pelo termo users sem o prefixo). Clique sobre ela para poder administrá-la.

Encontre o usuário admin: Clique em wp_users
para visualizar as contas de usuário. Procure pelo nome de usuário que normalmente é o administrador, como admin
ou o nome do site. Se você conseguir identificar com sucesso qual é o usuário administrador, siga diretamente para o passo 3.
Caso não encontre o admin: você pode passar para o passo 4 e criar uma nova conta admin, ou então descobrir qual/quais é/são o(s) usuário(s) administrador(es). Para isso você deverá procurar pela tabela wp_usermeta
e clicar sobre ela.

Depois identifique o termo a:1:{s:13:"administrator";b:1;}
na coluna meta_value. Este termo torna o usuário administrador; agora verifique qual é o ID do usuário administrador, que no meu exemplo é 3, mas para você pode ser qualquer outro número.

Em seguida retorne para a tabela wp_users
e procure pelo usuário que possui a ID que você acabou de identificar e siga para o passo seguinte (passo 3).

Passo 3: Alterar a senha via banco de dados
Editar a conta: Se você encontrou a conta do administrador, clique em Editar
.

Modificar a senha: Localize o campo user_pass
. Altere o conteúdo desse campo inserindo uma nova senha e, no campo de função, selecione a opção MD5
. O WordPress usa uma hash MD5 para armazenar senhas, então essa alteração atualizará corretamente a senha da conta.
Exemplo de senha: se você digitar minha-senha-forte
(por favor, nunca use senhas fracas, em especial para usuários com funções administrativas; use sempre senhas fortes), ela será convertida em hash MD5 e ficara encriptada com segurança, por isso não tenha medo de realizar essa operação pois sua senha não ficara armazenada como você a escreveu, mas sim em forma de um código.

Salvar as alterações: salve as modificações clicando em executar que fica no final da página de edição. Depois acesse a página de login do Wordpress inserindo o nome de usuário e a nova senha que acabou de ser alterada para ter acesso ao painel administrativo.
Passo 4: Criar uma nova conta de administrador (caso necessário)
Se você não encontrar uma conta admin, ou preferir criar uma nova, siga estes passos:
Inserir um novo usuário: Acesse a tabela wp_users
como foi mostrado anteriormente e clique em inserir.

Em seguida insira um novo registro com as seguintes informações (os demais campo pode deixar em branco):
ID
: deixe o campo em branco, ele será preenchido automaticamente. Caso você preencha com um número de ID já existente poderá enfrentar problemas, por isso certifique-se de deixar em branco.
user_login
: Novo nome de usuário, como webmaster
.
user_pass
: Digite uma senha, selecione MD5
e o phpMyAdmin converterá a senha automaticamente. Nunca se esqueça de selecionar a opção MD5 no dropdown do userpass ou a senha será salva de forma insegura.
user_email
: Um e-mail válido para o novo usuário (não é obrigatório ser válido, mas isso poderá ajudar a recuperar a senha no futuro, se for necessário).
user_registered
: Data atual no formato AAAA-MM-DD HH:MM:SS
.
user_status
: Deixe como 0
.
display_name
: Nome para exibição pública.

Por fim clique no botão executar. Um mensagem irá mostrar a criação do novo usuário.

Atribuir o novo usuário ao grupo de administradores: Agora será necessário adicionar duas entradas na tabela wp_usermeta
, mas antes precisamos verificar qual valor de ID foi atribuído ao usuário. Para isso vamos procurar pela tabela e clicar para ver a lista de usuários, identificar o usuário que acabou de ser criado e verificar o ID do mesmo. No meu exemplo o ID do usuário que acabo de criar é 8.

Identificado o ID do novo usuário, é hora de acessar a tabela wp_usermeta
, clicar para editar e depois clicar em inserir.

Preencha os seguintes campos com exatamente as seguintes informações (atenção ao prefixo da tabela que poderá e muito provavelmente será diferente do meu exemplo). Qualquer outro campo deixe em branco e não preencha nada mais.
user_id
: O ID do novo usuário (encontrado na tabela wp_users
).
meta_key
: wp_capabilities
(o prefixo wp_
pode variar e apenas no meu exemplo o prefixo é wp4).
meta_value
: a:1:{s:13:"administrator";b:1;}
(isso concede ao novo usuário o papel de administrador).
Role até o final da página e clique no botão executar para salvar as informações.

Em seguida será apresentada uma tela confirmando a adição dessas informações.

Repita o procedimento anteriro para adicionar uma segunda entrada com as seguintes informações:
user_id
: O mesmo ID do novo usuário que foi usado no passo anterior.
meta_key
: wp_user_level
. Lembre-se que o prefixo wp pode variar.
meta_value
: 10
.
Role até o final da página e clique no botão executar para salvar as informações.

Em seguida será apresentada uma tela confirmando a adição dessas informações.

Passo 5: Fazer login
Com a senha alterada ou a nova conta criada, você agora pode fazer login no painel administrativo do WordPress com a conta de administrador e ter total controle sobre o site.
Possíveis erros e problemas
Se, após finalizar o procedimento do passo 4, você tentar fazer login e acessar /wp-admin, mas receber a mensagem “Você não tem permissão para acessar essa página” (ou algo semelhante), isso indica que houve algum erro na inserção dos dados no metauser. Um erro bastante comum é a inserção de um espaço adicional antes ou depois de alguma informação. Outro erro frequente é a presença de prefixos diferentes do padrão wp_ nas tabelas do banco de dados.
Certifique-se de que está utilizando os prefixos corretos nas informações do meta do usuário. Esses prefixos devem corresponder exatamente aos que aparecem nas tabelas wp_users e wp_usermeta. Por exemplo, no meu caso, além de a tabela ter um prefixo diferente, havia também um underscore (underline) extra, resultando em um prefixo wp__4 (com dois underlines). Recomendo verificar essas informações com atenção.
Se encontrar algum erro, apague os dados inseridos na tabela usermeta e tente novamente, assegurando-se de que os valores em meta_value estejam corretos e sem espaços adicionais, tanto dentro do texto quanto antes ou depois dele.
Considerações finais
Recuperar o acesso administrativo de um site WordPress via banco de dados é uma solução eficaz em situações onde o acesso ao painel está perdido. Com o phpMyAdmin, é possível tanto alterar a senha de uma conta existente quanto criar uma nova conta de administrador, garantindo assim o controle total do site sem precisar da senha original.